This is the best Charro Beans recipe, life-changing and amazingly delicious! Also called Frijoles Charros or Cowboy Beans, this amazing hearty Mexican stew. It can be served as a main dish with cornbread or as a side dish.
Why this works
- Easy on your budget - this recipe for charro beans uses staples in your pantry, or you can find them with no problem at the grocery store, like my smoked sausage and potatoes with green beans recipe or Instant Pot Black Beans.
- Bursting with flavor - the pinto beans are infused with the flavors of bacon, chorizo, jalapenos, garlic, and dried chiles that combine together to make a mouth-watering and satisfying meal like Stuffed Cabbage Rolls.
- Versatile Crowd Pleaser - one of the great things about this recipe is that you can make it how you like it. It can be made vegetarian and mix up the meats and chiles for different flavors, like my Dirty Rice recipe.
What are charro beans?
Charro beans originate from rural Northern Mexico and are common comfort food. Named after the Mexican cowboys or charros who played an important part in the history of cattle ranches in Mexico.
Charro beans are small brown beans with dark specks. They have a nutty, earthy flavor and are a large crop for production in Northern Mexico.
Charro beans or frijoles charros are commonly made with pinto beans, garlic, onion, tomatoes, and chilies. They are typically cooked in water or chicken broth. Charro beans cousin dish Borracho beans are made the same except cooked in beer instead of water.
Ingredients you will need
Here is a quick snapshot of the ingredients you'll need. Scroll down to the recipe card, where you'll find exact measurements.
- Pinto Beans - I used dried beans that have been soaked. Canned beans that have been drained can also be used.
- Ham, bacon, hot dogs, and chorizo - all of these are wonderful in this dish, but you can mix and match to your taste.
- Everglades seasoning - you can use this or any all-purpose seasoning.
- Cilantro - it's convenient to use dried cilantro for this recipe, but you can use fresh if you have it on hand.
- Chiles - I used ancho and cascabel for these charro beans, but you can also use what you have on hand.
- Roma tomatoes - fresh is best, but you can use drained canned diced tomatoes.
How to make this
Step 1: Preparing the pinto beans
Soak the pinto beans for 8 hours or overnight. Cover with 2 to 3 inches of water. As the beans will expand as they soak, they need the additional water to remain covered with water.
Once the beans are done soaking, drain and rinse them. Return the pinto beans to the Instant Dutch Oven. Add the Everglades or all-purpose seasoning and cilantro. Cover the beans with 2 inches of water.
Cook on manual mode 2 at 300 degrees for 2 hours or until the beans are done. The beans are done when they are tender and not hard. They should not be mushy or overcooked.
If you are using canned beans, drain them, and add them to the Instant Dutch Oven. Cover with 2 inches of water. Add the Everglades or all-purpose seasoning and cilantro. Cook covered on manual mode 2 at 300 degrees for 30 minutes with the lid on. This way, they get the benefit of the seasoning. Then follow the directions below.
Step 2: Prepping the meat and vegetables
Cut the bacon into pieces. Dice the ham, and slice the hot dogs into pieces as well. Set aside.
Preheat a large skillet on medium heat. Add a small amount of olive oil to the pan once preheated. Add the bacon to the pan, and fry until slightly crispy.
Add the ham and hot dogs to the pan to cook. Cook for a few minutes until slightly browned and heated through.
Add in the chorizo and cook until browned and resemble ground beef when cooked. Drain and remove to a large bowl to set aside.
Dice the onions, jalapeno, and Roma tomatoes. Crush the dried chiles, and mince the garlic if needed.
In the same preheated skillet, add more oil for cooking if needed. Add in the onions and jalapeno, then cook until just softened.
Add the Roma tomatoes and cook for a few minutes. Next, add the crushed chile peppers and minced garlic. Saute for an additional 30 seconds or until the garlic is fragrant. Remove to the same large bowl with the meat mixture.
Once the beans are cooked, add the meat and vegetable mixture to the Instant Dutch Oven. Cook covered on manual mode 2 at 300 degrees for one hour.
During the last 15 minutes of cooking, add the crushed pork rinds and queso fresco. Stir to combine with the charro beans.
If you don't have time to soak the pinto beans, then no worries. You can cook them dried using my Instant Pot Pinto Beans (No Soak) recipe. To make this more of a soup, add water to thin it out.
This charro bean recipe can be made up to three days in advance and then stored in the refrigerator until ready to eat.
To make this vegetarian, do not use the meat mixture, but use the veggie mixture. Cook the beans in vegetable or mushroom broth for extra flavor.
Make a cornstarch slurry using equal parts cornstarch and water to thicken to the consistency you want.
The difference is Charro beans are cooked in water/broth, and Borracho beans are cooked in beer.
Serve these charro beans or frijoles charros with additional pork rinds and queso fresco. These can be served over rice, with warm tortillas, or cornbread.
Storage & reheating
Serve immediately or store in an airtight container for up to one week. These can be frozen for up to 3 months and thawed in the refrigerator prior to reheating.
How to video
More Instant Pot recipes
Did you try this recipe? Why not leave a star rating and/or a review in the comment section below to tell us about it! I always love hearing your feedback. Be sure to sign up for our email list, or follow us on Pinterest, Facebook, or Instagram!
Charro Beans Recipe
- 1 pound pinto beans soaked
- 2 teaspoons dried cilantro
- 2 teaspoons Everglades seasoning or all-purpose seasoning
- 4 slices bacon cut into pieces
- 1 cup ham diced
- 1 link Chorizo
- 3 hot dogs cut into pieces
- 2 tablespoon butter
- 1 onion diced
- 2 jalapenos diced
- 2 Roma tomatoes chopped
- 2 garlic cloves minced
- 1 Ancho chile crushed
- 1 Cascabel chile crushed
- ¼ cup pork rinds crushed
- ½ cup Queso Fresco crumbled
- Additional pork rinds and Queso Fresco for serving
Equipment You Might Need
- Soak dried beans for 8 hours to overnight. Once done, drain, rinse, and pick any off-looking beans.
- Add the beans to the Instant Dutch Oven. Add the Everglades or all-purpose seasoning and dried cilantro to the pot.
- Cover the beans with 2 inches of water. Cook covered on manual mode 2 at 300 degrees for 2 hours or until the beans are cooked. Beans are cooked when they are soft when pinched but not mushy.
- While the beans are cooking, preheat a large pan on medium heat. Cook the bacon until slightly crispy. Add the ham and hot dogs and cook for a few minutes.
- Add the Chorizo. Cook the mixture until the Chorizo is done. The Chorizo is done when it is brown and crumbly (resembles cooked ground beef). Drain the meat and set aside in a large bowl.
- In the same preheated pan, add some cooking oil. Add the diced onions and jalapenos. Cook until slightly softened, and add the Roma tomatoes.
- Add the crushed chile and garlic. Cook for a few seconds or until the garlic is fragrant. Remove from pan to combine with the meat mixture in a large bowl.
- When the beans are done, add the meat and vegetable mixture to the Instant Dutch Oven. Cook covered on manual mode 2 at 300 degrees for one hour.
- During the last 15 minutes of cooking, add the crushed pork rinds and Queso Fresco.
- Serve immediately, or store in an airtight container for up to one week. These can be frozen for up to three months then, thawed in the refrigerator then reheated.
Don't forget to join our Facebook Group for Instant Pot and Air Fryer recipes!