You can use any type of bean for this recipe. My family most commonly uses pinto, peruano, yellow eye, and kidney. In the morning, I like to cook some Mexican chorizo in a cast-iron skillet, mix in leftover beans and some of the cooking liquid, and then mash them all together. Serve with fried eggs and hot flour tortillas.
- Spread out the beans on a baking sheet and pick out any rocks and impurities. Place the beans in a large pot and add water to cover by 3 inches. Cut the onion in half through its equator, remove the skin but keep the core (root) intact, and add to the pot. Smash the garlic with a knife, remove and discard the skins, and add to the pot.
- Place the pot over high heat and bring to a boil for 5 to 10 minutes, then turn the heat to low and let simmer, uncovered, for 2 to 4 hours (see Note). Check the beans and stir them every 30 minutes, adding more water to cover as needed. The pot should always have 2 to 3 inches of liquid in it so the beans don’t burn. When the beans are cooked to your liking, stir in the cheese.
- Season the beans with salt before serving.
- Note: How long the beans cook depends entirely on your doneness preference (al dente versus creamy) and on the brand of beans. If you’re using a premium brand of dried beans, like Rancho Gordo, the beans tend to be fresher and won’t take as long to cook. But, if you’re using supermarket beans that may have been there for a while, they’ll take much longer to get tender. Occasionally, I add a ham hock to the beans with the water. If the ham hock is of good quality, it’ll take 3 to 4 hours for it and the beans to become tender.