I perfected my Mexican Charro Beans, featuring pinto beans, smoky bacon and serrano peppers simmered in a richly seasoned broth, with stovetop, Crock Pot and Instant Pot options.
I love a pot of Charro Beans because it’s honest, loud and a little dangerous. Using pinto beans and bacon the broth picks up this smoky, stubborn personality and before you know it people are hovering with spoons.
I’ve burned a batch by rushing more than once, so yeah I’m guilty, but the best outcomes come from letting things do their thing. This Mexican Charro Beans version is messy in the best way, full of sudden bright pops of flavor, and it somehow always turns into the thing everyone fights over, even when I swear there’s enough for seconds.
Ingredients
- Pinto beans: Creamy, earthy beans high in fiber and protein, keeps you full, good for heart health.
- Bacon: Salty, smoky, adds big savory flavor, but high in fat and sodium so use sparingly.
- Serrano peppers: Bright heat, gives spicy kick and fresh pepper notes, adds vitamin C too.
- Tomatoes: Acidic, sweet balance, adds brightness and umami, bring vitamin A and C to dish.
- Cilantro: Herbaceous, citrusy finish, freshens rich beans, mostly used as a garnish and flavor lift.
- Mexican chorizo (optional): If used, gives bold, spicy porky richness, boosts protein, watch for extra fat.
Ingredient Quantities
- 1 lb (450 g) dried pinto beans, sorted and rinsed
- 6 oz (170 g) bacon, chopped (about 6 slices)
- 1 large yellow onion, chopped
- 3 to 4 garlic cloves, minced
- 2 to 3 serrano peppers, stemmed and sliced
- 2 medium roma tomatoes, diced or 14 oz (400 g) canned diced tomatoes, drained
- 6 to 8 cups (1.4 to 1.9 L) low-sodium chicken broth or water
- 2 bay leaves
- 1 tsp ground cumin
- 1 tsp dried oregano (mexican oregano works best)
- 2 tsp kosher salt
- 1/2 tsp black pepper
- 1/2 cup fresh cilantro, chopped
- 2 green onions, thinly sliced
- Optional 8 oz (225 g) Mexican chorizo, casings removed
How to Make this
1. Sort and rinse 1 lb dried pinto beans, then soak if you want faster cooking: cover with water by 3 inches and soak 6 to 8 hours or overnight, or do a quick soak by boiling 2 minutes, removing from heat and letting sit 1 hour; drain and set aside.
2. In a large heavy pot or skillet over medium heat cook 6 oz chopped bacon until the fat renders and pieces are browned, remove some fat leaving about 1 to 2 tablespoons in the pan; if using optional 8 oz chorizo, add it now and brown, breaking it up with a spoon.
3. Add 1 large chopped yellow onion and 2 to 3 sliced serrano peppers to the bacon/chorizo fat and cook until the onion is soft, about 5 minutes; add 3 to 4 minced garlic cloves and cook 30 seconds, then stir in 2 medium diced roma tomatoes or 14 oz drained canned tomatoes and cook 1 to 2 minutes.
4. Add the drained beans to the pot along with 6 to 8 cups low sodium chicken broth or water (start with 6 cups and add more later if needed), 2 bay leaves, 1 tsp ground cumin, 1 tsp dried oregano, 2 tsp kosher salt and 1/2 tsp black pepper; scrape up any browned bits from the bottom.
5. Choose your cooking method:
– Stovetop: bring to a boil, reduce to a gentle simmer, partially cover and cook 1 1/2 to 2 hours until beans are tender, stirring occasionally and adding more liquid if it gets too thick.
– Instant Pot: use Sauté to do steps 2 and 3 in the pot, add beans and liquid, seal and cook on High Pressure 35 to 45 minutes for unsoaked beans (20 to 25 minutes if soaked), then let natural pressure release for 10 to 15 minutes before quick releasing remaining pressure.
– Crock pot: after sautéing bacon/chorizo and veggies in a pan, transfer everything to the slow cooker, add beans, spices and liquid, cook on Low 6 to 8 hours or on High 3 to 4 hours until beans are tender.
6. Keep an eye on foam and skim it off if it builds up, dont over salt early since flavors concentrate as the broth reduces, and add more broth or water if it becomes too thick while cooking.
7. When beans are tender, remove the bay leaves, taste and adjust salt and pepper; for a thicker, creamier pot mash a cup of beans against the side of the pot and stir them back in.
8. Stir in 1/2 cup chopped fresh cilantro and 2 thinly sliced green onions right before serving so they stay bright and fresh.
9. Serve hot as a side or main; leftovers store in the fridge up to 4 days or freeze up to 3 months, reheat gently and add a splash of broth if they thicken too much.
Equipment Needed
1. Large heavy pot or Dutch oven, 6 to 8 qt, for simmering the beans
2. Large skillet or frying pan, for rendering bacon and browning chorizo
3. Cutting board
4. Chef’s knife
5. Colander or fine mesh sieve, for sorting and draining beans
6. Measuring cups and spoons
7. Wooden spoon or heatproof spatula, for stirring and scraping browned bits
8. Ladle and/or slotted spoon, for serving and skimming foam
9. Instant Pot or slow cooker (optional), if you prefer pressure or slow-cooker method
FAQ
Charro Beans (Frijoles Charros) Recipe Substitutions and Variations
- Pinto beans: swap for canned pinto beans (about 3 cans 15 oz each) for a quick fix, its quicker, or use dried black beans or light red kidney beans if you want a slightly different texture, just adjust cooking time.
- Bacon: use pancetta, smoked ham, or turkey bacon for less fat, or for a vegetarian option try diced smoked tofu with a splash of liquid smoke, it mimics that smoky bite.
- Chicken broth or water: use vegetable broth for a vegetarian version, beef broth for a deeper meaty taste, or plain water plus 1 to 2 teaspoons bouillon or one stock cube, just taste for salt.
- Mexican chorizo optional: replace with spicy Italian sausage, or brown ground pork seasoned with smoked paprika, cumin, garlic and a little vinegar to copy the tang, or just leave it out and add extra bacon.
Pro Tips
1) Soak when you can — overnight soaked beans cook more evenly and turn creamier. If you forgot, add about 1/4 tsp baking soda to the cooking water to speed softening, but dont add tomatoes, lime or vinegar until the beans are tender or they can stay tough.
2) Use the bacon fat to build flavor: reserve 1 to 2 tbsp and toast the cumin and oregano in it before adding anything wet, and char or roast your tomatoes/serranos for extra depth. Save some crispy bacon/chorizo bits as a garnish so the dish has crunchy contrast.
3) Control texture the easy way: mash a cup of cooked beans against the pot or briefly puree some for a naturally thick, creamy broth. If it gets too thick, add hot broth a little at a time, dont pour cold water in or youll cool everything down and make reheating take longer.
4) Make ahead smartly: flavors deepen overnight so cook extra, cool completely then fridge or freeze in meal-sized portions. When reheating add a splash of hot broth and re-season at the end since salt and brightness can dull after sitting.

Charro Beans (Frijoles Charros) Recipe
I perfected my Mexican Charro Beans, featuring pinto beans, smoky bacon and serrano peppers simmered in a richly seasoned broth, with stovetop, Crock Pot and Instant Pot options.
6
servings
374
kcal
Equipment: 1. Large heavy pot or Dutch oven, 6 to 8 qt, for simmering the beans
2. Large skillet or frying pan, for rendering bacon and browning chorizo
3. Cutting board
4. Chef’s knife
5. Colander or fine mesh sieve, for sorting and draining beans
6. Measuring cups and spoons
7. Wooden spoon or heatproof spatula, for stirring and scraping browned bits
8. Ladle and/or slotted spoon, for serving and skimming foam
9. Instant Pot or slow cooker (optional), if you prefer pressure or slow-cooker method
Ingredients
-
1 lb (450 g) dried pinto beans, sorted and rinsed
-
6 oz (170 g) bacon, chopped (about 6 slices)
-
1 large yellow onion, chopped
-
3 to 4 garlic cloves, minced
-
2 to 3 serrano peppers, stemmed and sliced
-
2 medium roma tomatoes, diced or 14 oz (400 g) canned diced tomatoes, drained
-
6 to 8 cups (1.4 to 1.9 L) low-sodium chicken broth or water
-
2 bay leaves
-
1 tsp ground cumin
-
1 tsp dried oregano (mexican oregano works best)
-
2 tsp kosher salt
-
1/2 tsp black pepper
-
1/2 cup fresh cilantro, chopped
-
2 green onions, thinly sliced
-
Optional 8 oz (225 g) Mexican chorizo, casings removed
Directions
- Sort and rinse 1 lb dried pinto beans, then soak if you want faster cooking: cover with water by 3 inches and soak 6 to 8 hours or overnight, or do a quick soak by boiling 2 minutes, removing from heat and letting sit 1 hour; drain and set aside.
- In a large heavy pot or skillet over medium heat cook 6 oz chopped bacon until the fat renders and pieces are browned, remove some fat leaving about 1 to 2 tablespoons in the pan; if using optional 8 oz chorizo, add it now and brown, breaking it up with a spoon.
- Add 1 large chopped yellow onion and 2 to 3 sliced serrano peppers to the bacon/chorizo fat and cook until the onion is soft, about 5 minutes; add 3 to 4 minced garlic cloves and cook 30 seconds, then stir in 2 medium diced roma tomatoes or 14 oz drained canned tomatoes and cook 1 to 2 minutes.
- Add the drained beans to the pot along with 6 to 8 cups low sodium chicken broth or water (start with 6 cups and add more later if needed), 2 bay leaves, 1 tsp ground cumin, 1 tsp dried oregano, 2 tsp kosher salt and 1/2 tsp black pepper; scrape up any browned bits from the bottom.
- Choose your cooking method:
- – Stovetop: bring to a boil, reduce to a gentle simmer, partially cover and cook 1 1/2 to 2 hours until beans are tender, stirring occasionally and adding more liquid if it gets too thick.
- – Instant Pot: use Sauté to do steps 2 and 3 in the pot, add beans and liquid, seal and cook on High Pressure 35 to 45 minutes for unsoaked beans (20 to 25 minutes if soaked), then let natural pressure release for 10 to 15 minutes before quick releasing remaining pressure.
- – Crock pot: after sautéing bacon/chorizo and veggies in a pan, transfer everything to the slow cooker, add beans, spices and liquid, cook on Low 6 to 8 hours or on High 3 to 4 hours until beans are tender.
- Keep an eye on foam and skim it off if it builds up, dont over salt early since flavors concentrate as the broth reduces, and add more broth or water if it becomes too thick while cooking.
- When beans are tender, remove the bay leaves, taste and adjust salt and pepper; for a thicker, creamier pot mash a cup of beans against the side of the pot and stir them back in.
- Stir in 1/2 cup chopped fresh cilantro and 2 thinly sliced green onions right before serving so they stay bright and fresh.
- Serve hot as a side or main; leftovers store in the fridge up to 4 days or freeze up to 3 months, reheat gently and add a splash of broth if they thicken too much.
Notes
- Below you’ll find my best estimate of this recipe’s nutrition facts. Treat the numbers as a guide rather than a rule—great food should nourish both body and spirit. Figures are approximate, and the website owner assumes no liability for any inaccuracies in this recipe.
Nutrition Facts
- Serving Size: 350g
- Total number of serves: 6
- Calories: 374kcal
- Fat: 20g
- Saturated Fat: 6.7g
- Trans Fat: 0.5g
- Polyunsaturated: 6g
- Monounsaturated: 10g
- Cholesterol: 25mg
- Sodium: 967mg
- Potassium: 667mg
- Carbohydrates: 47g
- Fiber: 12g
- Sugar: 5g
- Protein: 22g
- Vitamin A: 500IU
- Vitamin C: 15mg
- Calcium: 120mg
- Iron: 3.8mg