This post may contain affiliate links. Please read our disclosure policy.

Charro Beans (Frijoles Charros) are Mexican cowboy beans simmered in a flavorful broth made from bacon, ham, onions, garlic, peppers, tomatoes, and delicious spices. They make a delicious meal when served with some flour tortillas for dipping, or a great side dish to accompany Mexican rice and various meats.

A bowl of charro beans topped with fresh cilantro on a table.

One of my favorite things about going to Mexican weddings when I was a kid was the food, and charro beans were always on the menu.

Charro Beans, or frijoles charros as theyโ€™re known in Spanish, are the ultimate Mexican dish that can be served as a full meal or a side dish. 

Theyโ€™re hearty and full of savory, rich flavors that pair well with proteins like carne asada and pollo asado but are also satisfying enough to be served alone with some homemade corn tortillas or flour tortillas for dipping.

The pinto beans are simmered slowly in a rich, flavorful broth with bacon, ham, onions, garlic, jalapenos, and tomatoes, which all come together to make the most amazing bowl of Mexican comfort food. If youโ€™ve never had charro beans, youโ€™re in for a treat! 

What Are Charro Beans?

Charro Beans (or Frijoles Charros in Spanish) is a hearty Mexican dish made from pinto beans simmered with a variety of meats, typically including bacon, ham, and sometimes chorizo or beef. 

The beans are cooked with onions, garlic, tomatoes, and chiles, creating a rich and savory broth. This dish is often seasoned with cumin and Mexican oregano, adding depth and complexity to its flavor.

I like to think of them as the Mexican version of โ€œpork and beansโ€ but with a little spice and a Mexican flavor profile. They’re similar to borracho beans, except they don’t contain any beer for added depth of flavor.

Charro beans are named after the charros, the traditional horsemen or cowboys of Mexico, who often ate these โ€œcowboy beansโ€ because they were hearty, nutritious, and could be prepared in one pot over an open fire.

Ingredients in charro beans

Ingredients in Charro Beans

  • Pinto beans: Pinto beans are popular in Mexican cooking and are the go-to for many bean recipes. I recommend using pinto beans and not substituting them with other beans. 
  • Chicken broth: Chicken broth adds lots of great flavor as opposed to just using water. You can also use vegetable or beef broth if you prefer. 
  • Bay leaves, onions, garlic: This medley of ingredients helps give the beans a good base of flavor before adding the bacon mixture. 
  • Bacon and ham: The star ingredients of charro beans are definitely the bacon and ham. They give just the right amount of salt and flavor to the beans. I used traditional natural smoked bacon and cubed ham, but you can use applewood smoked or any variety you prefer. 
  • Jalapeรฑo: I added a jalapeรฑo for an extra kick of spice. I left the seeds in, but you can deseed the pepper if you donโ€™t want it spicy. For more spice, use a serrano pepper instead. 
  • Chipotle pepper in adobo sauce: This adds a smoky element to the beans. It adds just a hint of spice, but you can easily add more if you really want it spicy.
  • Roma tomatoes: I used 3 large Roma tomatoes, but you can substitute a can of fire-roasted tomatoes. 
  • Cilantro: Adding cilantro gives a hint of fresh herbs to the dish.

How to Make Charro Beans

Cook the beans. Add the beans, onion, garlic, bay leaves, salt, Mexican oregano, and enough water to cover the ingredients, plus an additional 3 inches into a large pot or Dutch oven. Bring to a boil, reduce heat to low, cover, and simmer for 1 ยฝ to 2 hours until theyโ€™re soft and tender.

Dry pinto beans in a pot with bay leaves, onion, salt, Mexican oregano, and garlic to make charro beans.

Drain and reserve 4 cups of the cooking liquid. If you don’t have enough, use additional water or chicken broth.

Cook the chopped bacon in the same pot over medium heat for about 8 minutes until the edges begin to crisp and the fat is rendered.

Chopped bacon cooking in a pot for charro beans.

Stir in the ham, onions, and jalapeรฑos, and sautรฉ for 5 minutes until the onions are translucent, and the peppers are tender. Then add the garlic, tomatoes, chipotle pepper in adobo sauce, and ground cumin. Cook for 10 minutes until the tomatoes release their juices and begin to break down.

Bacon, ham, tomatoes, jalapeรฑo, and more cooking in a pot to make charro beans.

Combine beans and bacon mixture. Add in the cooked beans and the 4 cups of reserved cooking liquid. Bring to a boil, taste, and season with salt as needed.

Serve immediately with some cilantro if desired, and enjoy!

Recipe Tips

  • Adjust the spice level. I left in the jalapeรฑo seeds to add a bit of spice. You can deseed them if you prefer. You can also use more chipotle peppers for more smokiness and heat.
  • Use canned beans to save some time. To make this recipe using canned pinto beans, youโ€™ll need four 15-ounce cans of drained and rinsed pinto beans and 4 cups of chicken broth. Then skip to step 5.
  • Make this ahead. This is one of those recipes that tastes better the next day, kind of like chili! The longer the ingredients have to sit together and meld, the better it tastes. So you can definitely make this dish up to 2 days in advance if you’d like.
  • Is soaking required? I did not soak the pinto beans, and my family never did, so I never grew up soaking them. The cooking time is a little longer than if you did, but the flavor is still the same. It’s up to you if you decide to soak them or not!

Adding Chorizo or Hot Dogs to Charro Beans

Some charro bean recipes use chopped beef franks/hot dogs or chorizo.

I prefer the charro beans flavored with ham and bacon but you can definitely add those extra ingredients for even more pork flavor.

If using, add 1 cup chopped beef franks, or 9-14 ounces of Mexican chorizo when adding in the ham and other vegetables.

Charro beans in a pot with a ladle about to be served.

Storing and Reheating

To store, place in an airtight container and refrigerate for up to 1 week or freeze for up to 3 months.

To reheat, place in the microwave in 1 minute increments until warmed, or heat in a pot over medium-high heat until warmed through.

More Mexican Recipes

4.70 from 86 votes

Charro Beans (Frijoles Charros)

Charro Beans (Frijoles Charros) are Mexican cowboy beans simmered in a flavorful broth made of bacon, ham, onions, chiles, tomato, and more!
Prep: 10 minutes
Cook: 2 hours 30 minutes
Total: 2 hours 40 minutes
Servings: 8 servings
Email This Recipe
Enter your email and Iโ€™ll send this directly to you. Plus youโ€™ll get new recipes from me every week!
Please enable JavaScript in your browser to complete this form.

Ingredients 

For the dried beans

  • 1 pound dried pinto beans (see Notes for using canned beans)
  • ยฝ yellow onion
  • 2 cloves garlic, smashed
  • 2 bay leaves
  • 1 ยฝ teaspoons kosher salt
  • ยฝ teaspoon dried Mexican oregano
  • Water, as needed

For the charro beans

  • 8 ounces bacon, diced
  • 1 cup cubed cooked ham
  • ยฝ yellow onion, diced
  • 1 jalapeรฑo, diced
  • 2 cloves garlic, minced
  • 3 Roma tomatoes, diced
  • 1 chipotle pepper in adobo sauce, minced
  • ยฝ teaspoon ground cumin
  • Kosher salt, to taste
  • Chopped cilantro, for serving

Instructions 

  • Rinse the beans under running water to remove any dirt, then drain and sort them by picking out and discarding any beans that are shriveled or split, as well as any small rocks that may have made their way into the batch.
  • Add the beans, onion, garlic, bay leaves, salt, Mexican oregano, and enough water to cover the ingredients, plus an additional 3 inches, to a large pot or Dutch oven.
  • Bring the beans to a boil over medium-high heat, reduce heat to low, cover, and simmer for 1 ยฝ to 2 hours, until soft and tender. Check the beans at the 1-hour mark and add more water as needed if it begins to dry out.
  • Drain the beans into a large bowl to reserve the cooking liquid. Discard the bay leaves. Measure out 4 cups of the liquid. If you donโ€™t have 4 cups, add additional water or chicken broth until you have enough. Set aside.
  • In the same large pot or Dutch oven, add the chopped bacon and cook over medium heat for about 8 minutes until the edges begin to crisp and the fat is rendered.
  • Stir in the ham, onions, and jalapeรฑos. Cook for 5 minutes until the onions are translucent, and the peppers are tender.
  • Stir in the garlic and cook for 30 seconds until fragrant.
  • Stir in the tomatoes, chipotle pepper in adobo sauce, and ground cumin. Cook for 10 minutes until the tomatoes release their juices and begin to break down.
  • Add in the cooked beans and the 4 cups of cooking liquid. Bring to a boil, taste, and season with salt as needed.
  • Stir in the cilantro and serve immediately.

Notes

  • Adjust the spice level. I left in the jalapeรฑo seeds to add a bit of spice. You can deseed them if you prefer. You can also use more chipotle peppers for more smokiness and heat.
  • Use canned beans to save some time. To make this recipe using canned pinto beans, youโ€™ll need four 15-ounce cans of drained and rinsed pinto beans and 4 cups of chicken broth. Then skip to step 5.
  • Make this ahead. This is one of those recipes that tastes better the next day, kind of like chili! The longer the ingredients have to sit together and meld, the better it tastes. So you can definitely make this dish up to 2 days in advance if you’d like.
  • Add chorizo or hot dogs. Or both! You can add 1 cup chopped beef frank hot dogs and/or 9-14 ounces of Mexican chorizo when adding in the ham and other vegetables.

Nutrition

Serving: 1serving | Calories: 347kcal | Carbohydrates: 40g | Protein: 19g | Fat: 13g | Saturated Fat: 4g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 5g | Trans Fat: 0.04g | Cholesterol: 26mg | Sodium: 819mg | Potassium: 949mg | Fiber: 10g | Sugar: 3g | Vitamin A: 263IU | Vitamin C: 16mg | Calcium: 78mg | Iron: 3mg

Nutrition information is automatically calculated, so should only be used as an approximation.

Did you make this recipe?Leave a comment and star rating below!

This post was originally published in May 2018 and has been updated with new photos, more helpful tips, and a better overall improved recipe.

Photography by Ashley McLaughlin.

You may also like

Leave a comment

Your email address will not be published. Required fields are marked *

Rate this Recipe:




61 Comments

  1. D says:

    5 stars
    Made these last night and they are amazing. Family freaked!!!

  2. Angeli says:

    Hi! Any idea if this could be adapted to a slow cooker recipe and if so how? Thanks

    1. Ana @ Isabel Eats says:

      Hi Angeli! Yes you can make this in a crockpot! I would follow step 1 as directed, then follow steps 2,3, and 4 but cook them in a pan or skillet. I would then add all the ingredients directed in step 5 inside of the crockpot and cook for 4 hours on high or 6-8 hours on low and you’ll be good to go! I also recommend just keeping an eye on it to make sure they don’t get dry, if you see that happening you can add more chicken stock or water if you need it.

  3. Pam says:

    2 stars
    Had to cook for 2 days to get beans soft enough to eat. Could be adding acidic tomatoes as beans were cooking caused the problem.

    1. Maribel says:

      It had nothing to do with the tomato. You had old beans. The older the beans the longer it takes for them to soften. Try the recipe again using fresh beans.

  4. Joel says:

    5 stars
    I love this recipe so much! What modifications would you make to cooking time and amount of broth if you were using one pound of dry black beans? Thank you.

    1. Isabel says:

      I haven’t specifically tested this recipe with black beans, so I can’t say for certain. I would use the same amount of broth.

  5. Vickie says:

    5 stars
    Look no further, this is the best Charro bean recipe you will find. I did not change a thing. Making it exactly as instructed, makes a dish with a perfect balance of heat and flavor. So many recipes Iโ€™ve tried use the heat of spices to the point that flavor, texture, and balance of your food were overpowered and all you had was a hot mouth. Not so with this recipe, only positive comments and rave reviews from every dinner guest, including my daughter who loves spicy heat and feels my food is NEVER spicy enough. Thanks for sharing a wonderful recipe.

    1. Isabel says:

      Thank you so much, Vickie! I’m so happy you and your family loved it!!

  6. Al Warner says:

    5 stars
    Made these for the first time and followed the recipe exactly except for a slight variation in the peppers (Serrano and Red Fresno). This was outstanding – I’ve frozen half the batch and (ahem) finished the other half in a couple of days. The flavors and textures are terrific. If you were to turn this into a borracho, would you just replace stock with beer on a 1:1 basis? This will be a staple recipe for me – thanks!

    1. Isabel says:

      Thanks, Al! So happy you liked it! I actually have a recipe for borracho beans here!

  7. Kimberly Turner says:

    5 stars
    This is the second time I used this recipe my family loved it, o fcourse my husband and brother love beans any way I cook them. I tweak the recipe a little myself by adding a small amount of my creole seasoning i blend myself.
    Thank you for the recipe I LOVE to cook anyway๐Ÿ’๐Ÿ’๐Ÿ’๐Ÿ’๐Ÿ’ž๐Ÿ’ž๐Ÿ’˜๐Ÿ’˜๐Ÿ’˜๐Ÿค›๐Ÿค›

    1. Isabel says:

      Ooh, a little creole seasoning sounds great in this recipe! Thanks! I’m so happy you and your family liked it ๐Ÿ™‚

  8. Debbie Blank says:

    4 stars
    I love this recipe, I tweaked it just a little. I used pork belly instead of bacon because I had some in the freezer, I added some Sofrito and Chili Con Carne seasoning instead of the cumin (lots of cumin in the chili seasoning). The chili con carne seasoning is from my favorite local spice store, Penzey’s. It’s still on the stove, I can’t wait to try it. We are serving it for Christmas dinner. Thank you for sharing your recipe.

  9. dallas daniels says:

    5 stars
    HI,

    This is a very good recipe, however I changed a few things. I didn’t use the stock, I added water instead. I don’t care for commercial chicken stock. Don’t like the ingredients at all. Unless I make my own stock, I pass. I didn’t use bacon either, but used what I had on hand, which was Polish Kibalsa sausage. I did used cilantro instead of the jalapenos . It was delicious. Thank you.

    1. Isabel says:

      I’m so happy you liked it! All of those substitutions sounds delicious, and I love that you used kielbasa!

  10. Sandy says:

    5 stars
    These soooo good! ๐Ÿ‘
    Thanks for the recipe!

    1. Isabel says:

      Thanks, Sandy! I’m so happy you liked it!