I finally nailed the Best Charro Beans Recipe and these smoky, meaty beans make every other pot feel like a sad placeholder.

I’m obsessed with this Charro Beans Recipe because it tastes like dirt-road mornings and loud family dinners, but less precious. I love the smoky punch from 4 slices bacon, chopped and the way the beans soak up that grease and spice.
Mexican Charro Beans hit the spot when I want something sloppy, rich, and honest. And jalapeños give it that bright, rude bite that makes you reach for seconds before you even finish your first bowl.
Not fancy. Just giant flavor and I crave it on repeat.
It’s messy, loud, and exactly what dinner should be. Always.
No apologies allowed.
Ingredients

- Pinto beans: the creamy base, hearty and comforting.
- Water or chicken broth: keeps it saucy and cozy.
- Bacon: salty crunch and smoky little bites.
- Mexican chorizo: spicy, greasy goodness that adds real depth.
- Yellow onion: sweetness and a little bite when softened.
- Garlic: punchy warmth, you’ll notice it right away.
- Roma tomatoes: bright acidity, keeps things from feeling heavy.
- Jalapeños or serranos: fresh heat, don’t skip unless you hate spice.
- Bay leaf: subtle herbiness, kind of background magic.
- Ground cumin: earthy warmth, ties the flavors together.
- Dried oregano: herbal, slightly citrusy note, especially if it’s Mexican oregano.
- Kosher salt: brings out everything, don’t be shy to taste.
- Black pepper: mild bite, wakes up the whole pot.
- Lard or neutral oil: helps sauté and adds silky mouthfeel.
- Cilantro: fresh, green brightness at the finish.
- Lime juice: brightens and balances, use it sparingly.
- Green onions: fresh crunch and mild oniony pop as garnish.
Ingredient Quantities
- 1 lb dried pinto beans, rinsed (or 2 cans about 28 oz total, drained)
- 6 to 8 cups water or low sodium chicken broth, plus more to adjust consistency
- 4 slices bacon, chopped
- 1/2 lb Mexican chorizo, casing removed (optional but traditional)
- 1 medium yellow onion, finely chopped
- 3 garlic cloves, minced
- 2 Roma tomatoes, seeded and chopped (or 1 14 oz can diced tomatoes)
- 2 jalapeños or serrano chiles, seeded and thinly sliced (adjust heat to taste)
- 1 bay leaf
- 1 tsp ground cumin
- 1 tsp dried oregano, preferably Mexican oregano if you have it
- 1 tsp kosher salt, plus more to taste
- 1/2 tsp freshly ground black pepper
- 1 tbsp lard or neutral oil (if not enough bacon fat)
- 1/2 cup fresh cilantro, chopped
- Juice of 1 lime (optional, for finishing)
- 2 to 3 green onions, thinly sliced for garnish (optional)
How to Make this
1. If using dried beans, pick through and rinse them, then cover with 6 to 8 cups water and soak for at least 4 hours or overnight; drain and rinse before cooking. If using canned, skip soaking and drain the beans.
2. In a large heavy pot or Dutch oven over medium heat, cook chopped bacon until fat renders and edges get crisp, about 6 to 8 minutes. Remove some bacon if you want less grease, but leave about 1 to 2 tablespoons fat in the pot.
3. Add Mexican chorizo to the pot with the bacon fat and break it up with a spoon; cook until browned and cooked through, about 4 to 6 minutes. If you don’t have enough fat, add 1 tablespoon lard or neutral oil.
4. Stir in the finely chopped onion and cook until translucent, about 4 minutes, then add the minced garlic and cook another 30 to 60 seconds until fragrant.
5. Add the soaked and drained beans (or the drained canned beans), chopped tomatoes or canned tomatoes, sliced jalapeños or serranos, bay leaf, ground cumin, dried oregano, 1 teaspoon kosher salt, and 1/2 teaspoon black pepper. Pour in 6 to 8 cups water or low sodium chicken broth so beans are covered by about 1 inch of liquid.
6. Bring to a gentle boil, then reduce heat to low, cover partially, and simmer. For soaked dried beans cook 1 to 1 1/2 hours until tender. For canned beans simmer 20 to 30 minutes to let flavors meld. Stir occasionally and add more water or broth if it gets too thick.
7. Taste about 10 minutes before you think it’s done and adjust salt, pepper, and heat from chiles. Remove the bay leaf. Smash a few beans against the side of the pot with the back of a spoon if you like a thicker, stew like texture.
8. Stir in chopped fresh cilantro and the juice of 1 lime if using; simmer 1 to 2 minutes more to marry flavors. If you want a smoother, richer finish, mash a small handful of beans or add a tablespoon of lard and stir.
9. Serve hot topped with the reserved crispy bacon, sliced green onions, extra cilantro and lime wedges on the side. These are great with warm tortillas, rice, or as a side to grilled meats.
10. Leftovers keep in the fridge for up to 4 days and taste even better the next day; reheat gently on the stove adding a splash of water or broth to loosen.
Equipment Needed
1. Large heavy pot or Dutch oven for cooking the beans and stews
2. Cutting board for chopping onion, tomatoes and chiles
3. Sharp chef knife for slicing and dicing
4. Wooden spoon or sturdy spoon to break up chorizo and stir the pot
5. Measuring cups and spoons for liquid and spices
6. Colander or fine mesh strainer to rinse and drain beans or canned tomatoes
7. Slotted spoon or ladle for serving and skimming fat
8. Can opener and citrus reamer or fork to juice the lime, if using
FAQ
Charro Beans Recipe Substitutions and Variations
- Pinto beans: use 1 lb great northern or navy beans for a milder creamier texture, or 2 cans black beans for a deeper flavor and firmer bite.
- Bacon: swap for pancetta or smoked turkey bacon if you want less pork fat, or skip and use 1 tbsp smoked paprika plus 1 tbsp oil to keep that smoky note.
- Mexican chorizo: replace with 1/2 lb ground pork or ground turkey seasoned with 1 tsp chili powder, 1/2 tsp smoked paprika and a pinch of cayenne; works well if you dont have chorizo.
- Cilantro: if you really dont like cilantro use chopped flat leaf parsley or a mix of parsley and extra green onion for a fresh finish without the soap-y taste some people get.
Pro Tips
1) Soak and soften smart: if using dried beans add a pinch of baking soda to the soaking water or to the pot in the first 10 minutes of simmering. It helps break down the skins so they get tender faster and creamier. Don’t overdo it though or beans can get mushy and taste soapy.
2) Layer the fat and texture: render the bacon slowly over medium low heat so you get crisp bits and clear fat. Brown the chorizo separately until it gets those little caramelized edges before mixing with the onions. That way you get real depth, not a greasy, flat flavor.
3) Finish with acid and salt at the end: always taste and adjust salt only in the last 10 minutes, and add lime juice at the end to brighten everything. Acid makes the beans taste like theyve been cooking all day, even if they havent.
4) Control thickness and make-ahead ease: mash a cup of beans against the pot or pulse a bit with an immersion blender to thicken. If it firms up in the fridge, stir in a splash of hot broth or water when reheating, and it will loosen right up. Also, flavors improve overnight, so plan for leftovers.

Charro Beans Recipe
I finally nailed the Best Charro Beans Recipe and these smoky, meaty beans make every other pot feel like a sad placeholder.
6
servings
380
kcal
Equipment: 1. Large heavy pot or Dutch oven for cooking the beans and stews
2. Cutting board for chopping onion, tomatoes and chiles
3. Sharp chef knife for slicing and dicing
4. Wooden spoon or sturdy spoon to break up chorizo and stir the pot
5. Measuring cups and spoons for liquid and spices
6. Colander or fine mesh strainer to rinse and drain beans or canned tomatoes
7. Slotted spoon or ladle for serving and skimming fat
8. Can opener and citrus reamer or fork to juice the lime, if using
Ingredients
-
1 lb dried pinto beans, rinsed (or 2 cans about 28 oz total, drained)
-
6 to 8 cups water or low sodium chicken broth, plus more to adjust consistency
-
4 slices bacon, chopped
-
1/2 lb Mexican chorizo, casing removed (optional but traditional)
-
1 medium yellow onion, finely chopped
-
3 garlic cloves, minced
-
2 Roma tomatoes, seeded and chopped (or 1 14 oz can diced tomatoes)
-
2 jalapeños or serrano chiles, seeded and thinly sliced (adjust heat to taste)
-
1 bay leaf
-
1 tsp ground cumin
-
1 tsp dried oregano, preferably Mexican oregano if you have it
-
1 tsp kosher salt, plus more to taste
-
1/2 tsp freshly ground black pepper
-
1 tbsp lard or neutral oil (if not enough bacon fat)
-
1/2 cup fresh cilantro, chopped
-
Juice of 1 lime (optional, for finishing)
-
2 to 3 green onions, thinly sliced for garnish (optional)
Directions
- If using dried beans, pick through and rinse them, then cover with 6 to 8 cups water and soak for at least 4 hours or overnight; drain and rinse before cooking. If using canned, skip soaking and drain the beans.
- In a large heavy pot or Dutch oven over medium heat, cook chopped bacon until fat renders and edges get crisp, about 6 to 8 minutes. Remove some bacon if you want less grease, but leave about 1 to 2 tablespoons fat in the pot.
- Add Mexican chorizo to the pot with the bacon fat and break it up with a spoon; cook until browned and cooked through, about 4 to 6 minutes. If you don’t have enough fat, add 1 tablespoon lard or neutral oil.
- Stir in the finely chopped onion and cook until translucent, about 4 minutes, then add the minced garlic and cook another 30 to 60 seconds until fragrant.
- Add the soaked and drained beans (or the drained canned beans), chopped tomatoes or canned tomatoes, sliced jalapeños or serranos, bay leaf, ground cumin, dried oregano, 1 teaspoon kosher salt, and 1/2 teaspoon black pepper. Pour in 6 to 8 cups water or low sodium chicken broth so beans are covered by about 1 inch of liquid.
- Bring to a gentle boil, then reduce heat to low, cover partially, and simmer. For soaked dried beans cook 1 to 1 1/2 hours until tender. For canned beans simmer 20 to 30 minutes to let flavors meld. Stir occasionally and add more water or broth if it gets too thick.
- Taste about 10 minutes before you think it’s done and adjust salt, pepper, and heat from chiles. Remove the bay leaf. Smash a few beans against the side of the pot with the back of a spoon if you like a thicker, stew like texture.
- Stir in chopped fresh cilantro and the juice of 1 lime if using; simmer 1 to 2 minutes more to marry flavors. If you want a smoother, richer finish, mash a small handful of beans or add a tablespoon of lard and stir.
- Serve hot topped with the reserved crispy bacon, sliced green onions, extra cilantro and lime wedges on the side. These are great with warm tortillas, rice, or as a side to grilled meats.
- Leftovers keep in the fridge for up to 4 days and taste even better the next day; reheat gently on the stove adding a splash of water or broth to loosen.
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: 320g
- Total number of serves: 6
- Calories: 380kcal
- Fat: 18g
- Saturated Fat: 6g
- Trans Fat: 0.3g
- Polyunsaturated: 2.5g
- Monounsaturated: 8g
- Cholesterol: 60mg
- Sodium: 700mg
- Potassium: 900mg
- Carbohydrates: 45g
- Fiber: 12g
- Sugar: 4g
- Protein: 22g
- Vitamin A: 800IU
- Vitamin C: 10mg
- Calcium: 100mg
- Iron: 4.5mg











