I’m sharing my Mexican Cowboy Beans recipe and a little-known tip about how bacon, ham, onions, garlic, peppers, tomatoes, and spices come together to make the classic charro beans.
I grew up grabbing bowls of smoky Charro Beans at roadside stands, and even now I call this my own Authentic Charro Beans Recipe because I like to push the edges. These Mexican Cowboy Beans are humble at heart, pinto beans and bacon, but they do something weird to your taste buds, like they remember forgotten flavors.
The bacon gives a sudden meaty wink, and leftovers get somehow better, yes better. I’m not gonna promise perfection, I ruined a batch once, but when it sings it’s addictive.
You’re gonna want to taste it right away.
Ingredients
- Pinto beans: high in fiber and protein, filling and earthy, slow cooks to creamy texture.
- Bacon: salty fatty flavor adds smokiness, adds protein but also extra saturated fat.
- Chorizo: spicy oily pork, brings heat and paprika smoke, very bold and savory.
- Onion: sweet when cooked, gives body and natural sweetness, helps overall balance.
- Jalapeños: fresh heat with vegetal notes, seeds pack most spice, brightens bean stew.
- Cilantro: bright herbal lift, adds fresh citrusy notes, chop at end for punch.
- Lime: acidity wakes flavors, squeeze before serving for zing and balance.
Ingredient Quantities
- 1 lb dried pinto beans soaked overnight and drained (or 3 15-oz cans pinto beans, drained)
- 6 oz bacon, diced (about 6 to 8 slices)
- 8 oz smoked ham or 1 smoked ham hock, diced
- 4 oz Mexican chorizo, casings removed (optional)
- 1 large yellow or white onion, diced
- 3 cloves garlic, minced
- 2 jalapeños, seeded and chopped (or 1–2 serranos for more heat)
- 2 Roma tomatoes, diced (or 14.5 oz canned diced tomatoes, drained)
- 6 to 8 cups low-sodium chicken broth or water
- 1 tsp ground cumin
- 1 tsp dried oregano (Mexican oregano if you got it)
- 2 bay leaves
- Salt and freshly ground black pepper, to taste
- 1/2 cup fresh cilantro, chopped
- 3 scallions, sliced
- 2 limes, cut into wedges for serving
- 8 small flour tortillas for dipping or serving (optional)
- 1 tbsp vegetable oil (optional, if you need extra fat)
How to Make this
1. If using dried beans soak them overnight in plenty of water, then drain and rinse. If using canned beans just drain and rinse. Toss out any shriveled beans, you don’t want surprises.
2. Heat a large heavy pot or Dutch oven over medium heat. Cook the diced bacon until it’s crisp and the fat is rendered, about 6 to 8 minutes. Scoop the bacon onto a plate and reserve the fat in the pot. If your bacon is very lean add the 1 tbsp vegetable oil.
3. Add the chorizo if using and crumble it, cook until browned, then remove some if it gets too greasy but leave the flavor in the pot. Add diced ham or the ham hock and brown slightly to build flavor, about 3 minutes.
4. Add the diced onion, minced garlic and chopped jalapeños. Cook until the onion is soft and just starting to brown, maybe 5 minutes, stirring so nothing burns.
5. Stir in the diced tomatoes, 1 tsp ground cumin, 1 tsp oregano and the 2 bay leaves. Let that bubble for a minute so the spices wake up.
6. Add the drained beans and 6 cups of low-sodium chicken broth or water. You want the liquid to cover the beans by about an inch, so add up to 8 cups if needed. Bring to a boil, then lower to a gentle simmer.
7. Simmer uncovered until the beans are tender. If you started with soaked dried beans plan on 1 to 1 1/2 hours, add more liquid as needed and skim any foam. If you used canned beans simmer 20 to 30 minutes to meld flavors. If you cooked with a ham hock, remove it, shred the meat and return the meat to the pot.
8. Taste and season with salt and freshly ground black pepper near the end. A tip: don’t salt the beans too early if they were unsoaked dried beans, salt at the end so they get tender. If you want a thicker broth mash a cup of beans against the pot and stir.
9. Stir in the chopped cilantro and sliced scallions, fold in the reserved bacon. Serve hot with lime wedges and warm flour tortillas for dipping. Enjoy, and don’t be shy with extra lime or hot sauce if you like heat.
Equipment Needed
1. Large heavy pot or Dutch oven (6 to 8 qt)
2. Cutting board (you’ll use it a lot, dont skip it)
3. Sharp chef’s knife
4. Colander or fine‑mesh strainer for draining beans
5. Wooden spoon or sturdy heatproof spatula for stirring
6. Slotted spoon or tongs plus a plate to rest the bacon on
7. Measuring cups and measuring spoons
8. Ladle for serving and skimming foam
9. Can opener (if using canned beans) and a small bowl for soaking or holding trimmed bits
FAQ
Charro Beans (Frijoles Charros) Recipe Substitutions and Variations
- Pinto beans: black beans, navy or cannellini beans, or kidney beans — same general texture, just watch cooking time if you swap dried for canned.
- Bacon / smoked ham / chorizo: pancetta, smoked sausage (kielbasa), or turkey bacon; for a vegetarian option try sautéed mushrooms with smoked paprika and a splash of soy or liquid smoke to mimic the savory, smoky flavor.
- Jalapeños: serranos for more heat, poblanos for milder, canned green chiles for convenience, or sweet bell pepper if you want no spice; remove seeds to lower heat.
- Cilantro / tortillas: swap cilantro for flat-leaf parsley or chopped green onion if you don’t like cilantro, and use corn tortillas, toasted bolillo rolls, or serve over rice instead of flour tortillas.
Pro Tips
1) Crisp the bacon separately and save the fat to cook the chorizo and onions in, then toss the bacon back in at the end for texture. If your bacon is really lean add a little oil so nothing sticks.
2) If you use dried beans, salt toward the end so they get tender, but if you want to speed things up add a tiny pinch of baking soda while they cook to soften them faster, just dont overdo it or theyll taste soapy. Skim the foam once or twice for cleaner broth.
3) For a richer, thicker pot mash about a cup of beans against the side of the pot or pulse with an immersion blender and leave the rest whole so you still have bite. If it gets too thick add hot water or broth a ladle at a time.
4) Brown the ham or ham hock and let the spices toast briefly in the hot fat before adding liquid, that little extra color gives big flavor. Add lime and cilantro at the very end so the bright notes dont cook away.
5) Make it a day ahead if you can, flavors meld and actually taste better the next day; reheat slowly, add a splash of broth if needed, and crisp up fresh bacon and scallions right before serving so they stay crunchy.
Charro Beans (Frijoles Charros) Recipe
My favorite Charro Beans (Frijoles Charros) Recipe
Equipment Needed:
1. Large heavy pot or Dutch oven (6 to 8 qt)
2. Cutting board (you’ll use it a lot, dont skip it)
3. Sharp chef’s knife
4. Colander or fine‑mesh strainer for draining beans
5. Wooden spoon or sturdy heatproof spatula for stirring
6. Slotted spoon or tongs plus a plate to rest the bacon on
7. Measuring cups and measuring spoons
8. Ladle for serving and skimming foam
9. Can opener (if using canned beans) and a small bowl for soaking or holding trimmed bits
Ingredients:
- 1 lb dried pinto beans soaked overnight and drained (or 3 15-oz cans pinto beans, drained)
- 6 oz bacon, diced (about 6 to 8 slices)
- 8 oz smoked ham or 1 smoked ham hock, diced
- 4 oz Mexican chorizo, casings removed (optional)
- 1 large yellow or white onion, diced
- 3 cloves garlic, minced
- 2 jalapeños, seeded and chopped (or 1–2 serranos for more heat)
- 2 Roma tomatoes, diced (or 14.5 oz canned diced tomatoes, drained)
- 6 to 8 cups low-sodium chicken broth or water
- 1 tsp ground cumin
- 1 tsp dried oregano (Mexican oregano if you got it)
- 2 bay leaves
- Salt and freshly ground black pepper, to taste
- 1/2 cup fresh cilantro, chopped
- 3 scallions, sliced
- 2 limes, cut into wedges for serving
- 8 small flour tortillas for dipping or serving (optional)
- 1 tbsp vegetable oil (optional, if you need extra fat)
Instructions:
1. If using dried beans soak them overnight in plenty of water, then drain and rinse. If using canned beans just drain and rinse. Toss out any shriveled beans, you don’t want surprises.
2. Heat a large heavy pot or Dutch oven over medium heat. Cook the diced bacon until it’s crisp and the fat is rendered, about 6 to 8 minutes. Scoop the bacon onto a plate and reserve the fat in the pot. If your bacon is very lean add the 1 tbsp vegetable oil.
3. Add the chorizo if using and crumble it, cook until browned, then remove some if it gets too greasy but leave the flavor in the pot. Add diced ham or the ham hock and brown slightly to build flavor, about 3 minutes.
4. Add the diced onion, minced garlic and chopped jalapeños. Cook until the onion is soft and just starting to brown, maybe 5 minutes, stirring so nothing burns.
5. Stir in the diced tomatoes, 1 tsp ground cumin, 1 tsp oregano and the 2 bay leaves. Let that bubble for a minute so the spices wake up.
6. Add the drained beans and 6 cups of low-sodium chicken broth or water. You want the liquid to cover the beans by about an inch, so add up to 8 cups if needed. Bring to a boil, then lower to a gentle simmer.
7. Simmer uncovered until the beans are tender. If you started with soaked dried beans plan on 1 to 1 1/2 hours, add more liquid as needed and skim any foam. If you used canned beans simmer 20 to 30 minutes to meld flavors. If you cooked with a ham hock, remove it, shred the meat and return the meat to the pot.
8. Taste and season with salt and freshly ground black pepper near the end. A tip: don’t salt the beans too early if they were unsoaked dried beans, salt at the end so they get tender. If you want a thicker broth mash a cup of beans against the pot and stir.
9. Stir in the chopped cilantro and sliced scallions, fold in the reserved bacon. Serve hot with lime wedges and warm flour tortillas for dipping. Enjoy, and don’t be shy with extra lime or hot sauce if you like heat.