Rinse the pinto beans in water, removing any debris or defective beans.
Place the rinsed beans into a stock pot. Pour in enough water to cover the beans by a few inches (about 3 quarts, or 12 cups, of water).
Bring the beans to a boil over medium-high heat. Once the water is boiling, reduce the heat to a simmer and cover the pot. Continue to cook the beans for 2 1/2 hours or until the beans are tender. Then strain them and pour them into a large bowl. Set the bowl aside.
Finely chop the onion and place it into a small bowl. Mince the garlic and place it into a separate small bowl. Set the bowls aside.
In a heavy skillet, heat the bacon fat or olive oil over medium-high heat. Add the chopped onion. Sauté until the onions are translucent. Add salt and pepper to taste.
Add the garlic, chili powder, and cumin. Cook, stirring frequently until the garlic becomes fragrant, about 30 seconds.
Add the strained beans and 1/4 cup of water to the pan. Stir and cook for about 5 minutes.
Reduce the heat to low. Using a potato masher or fork, mash the beans in the pan as they cook until you reach the desired consistency. If the refried beans seem dry, add a splash of water and mix it in.
Remove the beans from the heat. Add salt to taste. Cover until you are ready to serve.