Charro Beans (Frijoles Charros) are Mexican cowboy beans simmered in a flavorful broth made with 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.
One of my favorite things about Mexican weddings when I was a child was the food, and charro beans were always on the menu.
My eyes lit up at the sight of the steaming plates brought by the waiters, overflowing with pinto beans, bacon and ham. My mouth still waters thinking about it.
Charro beans, or frijoles charros as they are known in Spanish, are the quintessential Mexican dish that can be served as a complete meal or side dish.
They’re hearty and packed with savory, rich flavors that pair well with proteins like carne asada and chicken asado, but they’re also satisfying enough to serve on their own with some homemade corn tortillas or flour tortillas for dipping.
Pinto beans are simmered in a rich, flavorful broth with bacon, ham, onions, garlic, jalapenos and tomatoes, which come together to create 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 green beans (or Frijoles Charros in Spanish) are a hearty Mexican dish made from boiled pinto beans with a variety of meats, typically including bacon, ham, and sometimes chorizo or beef.
The beans are cooked with onions, garlic, tomatoes and chilies, creating a rich, flavorful broth. This dish is often seasoned with cumin and Mexican oregano, which add 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.
Charro beans are named after charros, the traditional horsemen or cowboys of Mexico, who often ate these “cowboy beans” because they were hearty, nutritious and could be prepared in a pot over an open fire.
Ingredients in Charro Beans
- Borlotti beans: Pinto beans are popular in Mexican cuisine and are the go-to for many bean-based recipes. I recommend using borlotti beans and not replacing them with other beans.
- Chicken broth: Chicken broth adds tons of great flavor instead of just using water. If you prefer you can also use vegetable or beef broth.
- Bay leaves, onions, garlic: This mixture of ingredients helps give the beans a good base of flavor before adding the bacon mixture.
- Bacon and ham: The main ingredients of charro beans are definitely bacon and ham. They give the beans just the right amount of salt and flavor. I used traditional plain smoked bacon and diced ham, but you can use applewood smoked or any variety you prefer.
- Jalapeno: I added a jalapeño for an extra kick of spice. I left the seeds, but you can also pit 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 want it really spicy.
- Rome Tomatoes: I used 3 large Roma cherry tomatoes, but you can replace them with a can of fire-roasted cherry tomatoes.
- Coriander: The addition of coriander gives the dish a touch of fresh herbs.
How to prepare 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 to a large stockpot or Dutch oven. Bring to the boil, reduce heat to low, cover and simmer for 1 1/2 to 2 hours until soft and tender.
Drain and reserve 4 cups cooking liquid. If you don’t have enough, use more water or chicken broth.
Cook the chopped bacon in the same pan over medium heat for about 8 minutes until the edges start to crisp and the fat melts.
Add while stirring the ham, onions and jalapeños and cook for 5 minutes until the onions are translucent and the peppers are tender. Then add the garlic, tomatoes, chili in adobo sauce and ground cumin. Cook for 10 minutes until the tomatoes release their juices and begin to break down.
Combine the bean and bacon mixture. Add the cooked beans and the reserved 4 cups cooking liquid. Bring to the boil, taste and add salt as needed.
Serve immediately with a little coriander if desired, and enjoy!
- Adjust the spice level. I left out the jalapeño seeds to add some 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 time. To make this recipe using canned pinto beans, you will need four 15-ounce cans of drained and rinsed pinto beans and 4 cups of chicken broth. Then go to step 5.
- Prepare it in advance. This is one of those recipes that tastes better the next day, a bit like chilli! The longer the ingredients are allowed to sit together and blend, the better the flavor will be. So you can definitely make this dish up to 2 days ahead if you want.
Adding chorizo or hot dog
Some charro bean recipes use ground beef sausage/hot dogs or chorizo.
I prefer charro beans flavored with ham and bacon, but you can definitely add those extra ingredients for an even more intense pork flavor.
If using, add 1 cup ground beef or 9 to 14 ounces Mexican chorizo when adding the ham and other vegetables.
Storage and heating
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 heated through, or heat in a saucepan over medium-high heat until heated through.
More recipes
Do you want to save this recipe?
Enter your email and we will send it directly to your inbox. Plus new recipes every week!
Charro beans
Charro Beans (Frijoles Charros) are Mexican cowboy beans simmered in a flavorful broth made of bacon, ham, onions, chiles, tomato and more!
Instructions
-
Rinse the beans under running water to remove any dirt, then drain and sort them by sorting and discarding any shriveled or split beans, as well as any small rocks that may have found 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 stockpot or Dutch oven.
-
Bring the beans to a boil over medium-high heat, reduce heat to low, cover, and simmer for 1 1/2 to 2 hours, until soft and tender. At the end of the hour, check the beans and add more water if necessary if they start to dry out.
-
Drain the beans into a large bowl to retain the cooking liquid. Discard the bay leaves. Measure 4 cups of liquid. If you don't have 4 cups, add more 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 renders.
-
Stir in the ham, onions and jalapeños. Cook for 5 minutes until the onions are translucent and the peppers are tender.
-
Add the garlic and cook for 30 seconds until fragrant.
-
Stir in the tomatoes, chili adobo sauce and ground cumin. Cook for 10 minutes until the tomatoes release their juices and begin to break down.
-
Add the cooked beans and the 4 cups cooking liquid. Bring to the boil, taste and add salt as needed.
-
Add the coriander and serve immediately.
Notes
- Adjust the spice level. I left out the jalapeño seeds to add some 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 time. To make this recipe using canned pinto beans, you will need four 15-ounce cans of drained and rinsed pinto beans and 4 cups of chicken broth. Then go to step 5.
- Prepare it in advance. This is one of those recipes that tastes better the next day, a bit like chilli! The longer the ingredients are allowed to sit together and blend, the better the flavor will be. So you can definitely make this dish up to 2 days ahead if you want.
- Add chorizo or hot dogs. Or both! You can add 1 cup shredded beef hot dog and/or 9 to 14 ounces Mexican chorizo when adding the ham and other vegetables.
Nutritional information
Serving: 1serving, Calories: 347kcal (17%), Carbohydrates: 40G (13%), Protein: 19G (38%), Fat: 13G (20%), Saturated fats: 4G (20%), Polyunsaturated fats: 2G, Monounsaturated fat: 5G, Trans fats: 0.04G, Cholesterol: 26mg (9%), Sodium: 819mg (34%), Potassium: 949mg (27%), Fiber: 10G (40%), Sugar: 3G (3%), Vitamin A: 263UI (5%), C vitamin: 16mg (19%), Soccer: 78mg (8%), Iron: 3mg (17%)
Photography by Ashley McLaughlin.