Charro Beans (Frijoles Charros) are Mexican-style beans cooked in a broth made from bacon, onions, garlic, chiles, tomatoes and other delicious spices. Great as a side dish or as a full meal served with some flour tortillas or jalapeño cornbread!

If you’re searching for a hearty and filling Mexican side dish, then Charro Beans are made for you!
They’re great in the summer to serve at potlucks and family get-togethers, perfect in the winter in a big bowl with homemade flour tortillas or a piece of jalapeño cornbread, or as an everyday side dish when you’re tired of the same old refried beans.
Plus they’re made with bacon, and we all know that everyone loves bacon! But before we get into the recipe, you may be wondering…
What are charro beans?
Charro beans, or “cowboy beans” in English (or “frijoles charros” in Spanish), are Mexican-style pinto beans cooked in a broth made from bacon, onions, garlic, chipotle peppers, tomatoes and other delicious spices.
The beans are simmered in the flavorful broth until the liquid has reduced and thickened, resulting in a rich and irresistible mouthful of goodness. I like to think of charro beans as the Mexican version of “pork and beans.” Same concept with a touch of chipotle pepper smokiness.
Charro beans and borracho beans (or “drunken beans” in English) are very similar. They’re essentially the same thing, except borracho beans are made with the addition of Mexican beer.


How to make charro beans
- Place the dried pinto beans in a large bowl and cover them completely with water. Let them soak for about 4-8 hours.
- Cook some diced bacon in a large dutch oven over medium-high heat until all the fat is rendered. Add in some onions and jalapeños and cook until translucent.
- Add in garlic, diced tomatoes and chipotle pepper and cook until mixture is bubbling and slightly thick.
- Add in chicken stock, seasonings and soaked pinto beans and bring to boil. Cover, reduce heat to simmer and cook for about 35 minutes, until beans are barely cooked.
- Uncover, turn up the heat to medium-high and cook for another 35-40 minutes, until the liquid has reduced and thickened.
Short on time? Use canned beans!
If you’re looking to save some time and would rather use canned pinto beans instead of dried, skip soaking the beans and follow the directions as written except for the part where you cover, reduce heat to simmer and cook the beans for the first 35 minutes.
Since canned beans are already cooked, skip that step and cook everything uncovered for about 35-40 minutes, until the liquid has reduced and thickened.

I’m a big fan of eating this dish as a meal with a thick slice of cornbread, but if you’re looking to serve it as a side dish, here are some tasty options!
Serving suggestions


Ingredients
- 1 pound dried pinto beans
- 6 ounces bacon, diced
- 1 medium white or yellow onion, diced
- 2 jalapeno peppers, minced
- 2 teaspoons minced garlic (about 4 cloves)
- 2 14-ounce cans diced tomatoes
- 1 chipotle pepper in adobo sauce, diced
- 6 cups chicken stock
- 1 teaspoon dried oregano
- 1/2 teaspoon cumin
- 1 pinch sea salt
- 2 bay leaves
- For serving: cilantro, jalapenos, bacon bits, diced white onions
Instructions
- Place dried pinto beans in a large bowl and cover with about double the amount of water. Beans should be fully submerged. Let soak for 4 to 8 hours. Drain and rinse.
- Heat a large pot or dutch oven over medium-high heat. Add diced bacon and cook for 5-10 minutes, stirring occasionally, until fat is rendered and bacon is starting to crisp up on the edges.
- Add the onions and jalapenos. Cook for about 5 minutes, stirring occasionally, until onions become translucent and begin to soften. Add garlic and cook for 30 seconds, until fragrant.
- Add diced tomatoes and chipotle pepper. Cook for 3-5 minutes, stirring occasionally, until the mixture begins to bubble and thicken.
- Add soaked pinto beans, chicken stock, oregano, cumin, a generous pinch of sea salt, and bay leaves. Turn up the heat to high, stir to combine and bring to a boil. Reduce heat to simmer, cover and cook until beans are barely tender, about 35-40 minutes.
- Uncover the pot, turn the heat up to medium-high and continue cooking for 35-40 minutes, stirring occasionally, until the beans are fully cooked and the liquid has reduced and thickened.
- Taste and season with more salt as necessary. Serve with fresh cilantro, jalapenos, crunchy bacon bits and diced onions!
Hi! Should I drain and rinse the beans when using canned? Thanks!
Hi Kayla! Yes, drain and rinse them and then skip to step 7.
hi! love your site and have tried (w/success) some of your recipes. I’ve been looking for a firjoles charros recipe for instapot. have you tried making them that way? any tips that can be shared?
Hi Jen! We have not tried it yet, but definitely have lots of requests! If you try it let us know how it goes.
I’m making these now, with a few changes. Instead of diced tomatoes, I added about a half cup of tomato puree because that’s all I had. I would imagine they will be more tomatoey than they should be. Also, I omitted the jalapenos (didn’t have them) and added a tied small bunch of cilantro to the simmering beans at the beginning for freshness and because I love cilantro. Looking forward to eating these with grilled shrimp and rice.
Hi Wendy! That sounds like a delicious dinner!
I love your recipes………..they just keep getting better, one after another. These beans are so good, I made these for The Priest at my Church, and he asked me to make them again for him, of course with flour tortillas. I cook a lot of your delicious recipes for him. He really seems to enjoy them a lot. Thank you for sharing these delicious recipes with us all. I think if you make someone a nice meal and bring it to them, it is better than any gift you could ever buy for them. I know they appreciate it so much.
I made this recipe and it was so delicious! Thank you. My husband and I enjoyed this as a side dish with chimichangas yummy 😋
If canned beans, how many cans should I use?
Hi Jennifer! We recommend one 15oz can.
Hi, I made this recipe some days ago, I really liked the result but I had to forego the chipotle pepper in adobo because I can’t find it anywhere (I’m Italian). I used 1 teaspoon smoked paprika in its place. While the finished dish was still really good, I felt that something was missing and I think it’s the chipotle…Next time I’ll try adding 1 Tablespoon tomato paste + 1 Tablespoon vinegar to go with the smoked paprika…do you think it will work well enough? Also I used beans that I had already cooked in the slow cooker (I wanted to make frijoles borrachos but at the last moment I realized I didn’t have enough beer) and I used their broth (the water they cooked in), salted, in place of the chicken stock. That worked nicely.
Happy New Year, Didi
Excellent recipe–so easy to make and delicious flavor!
I love charro beans but have never tried making them from scratch. Used this recipe for my first attempt and love it. It’s spicier than I expected, but I like it like that!
Just made these tonight and it came out great!! Love the underlying heat. Thanks for a great recipe!
Made these last night and they are amazing. Family freaked!!!
Hi! Any idea if this could be adapted to a slow cooker recipe and if so how? Thanks
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.
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.
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.
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.
I haven’t specifically tested this recipe with black beans, so I can’t say for certain. I did find a handy little guide online with more information about cooking time for different kinds of beans – here’s that link. I would use the same amount of broth.
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.
Thank you so much, Vickie! I’m so happy you and your family loved it!!
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!
Thanks, Al! So happy you liked it! I actually have a recipe for borracho beans here!
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💝💝💝💝💞💞💘💘💘🤛🤛
Ooh, a little creole seasoning sounds great in this recipe! Thanks! I’m so happy you and your family liked it 🙂
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.
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.
I’m so happy you liked it! All of those substitutions sounds delicious, and I love that you used kielbasa!
These soooo good! 👍
Thanks for the recipe!
Thanks, Sandy! I’m so happy you liked it!