Trust me when I say these Mexican Charro Beans are next level greatness, made with pinto beans simmering in a boldly flavored broth of bacon, ham, chorizo, chili peppers, tomatoes and spices. You can make them with dried or canned pinto beans, cooked on the stove-top, slow cooker or in the instant pot.
I’m proud to add this recipe to my growing list of amazing, authentic Mexican recipes like chile relleno, Huevos Rancheros, Sopaipillas, and Horchata! Charro beans make a great main dish or side dish!
What I love about this recipe:
- Bold flavor: The vast flavor profile from the different meats, chiles and spices is incredible. One taste and you will feel like a professional chef.
- Adaptable: You can use dried or canned pinto beans and I’ve left notes for several ingredient swap ideas and variations.
- Make them on the Stove-top, Instant Pot, or Slow Cooker!
What are Charro Beans?
Charro beans (AKA frijoles charros or cowboy beans) are a popular Mexican dish consisting of pinto beans in a boldly flavored broth with other types of meat (chorizo, bacon, ham), chili peppers, tomatoes, and spices. Its consistency os similar to soup and it can be served as a main dish or side dish. It almost reminds me of “pork and beans”, but way better and more boldly flavorful.
Ingredients:
- Produce: onion, garlic, jalapeño pepper, cilantro.
- Tomatoes: Roma tomatoes or canned diced tomatoes. I often substitute a 15-ounce can diced tomatoes with green chilies or habaneros and leave out the jalapeño in the recipe.
- Spices: salt, pepper, bay leaf, cumin, paprika, oregano.
- Meat: bacon, chorizo, ham.
- Dried pinto beans: to use canned beans, see recipe notes.
- Chipotle pepper in adobo sauce (optional): Chipotle peppers canned in adobo sauce are located in the Mexican aisle at the grocery store and add a great smoky flavor to the beans. You only need ½ or 1 whole pepper (depending on your spice preference) for this recipe. You can add the leftover chilis and sauce to a freezer bag and freeze for later use.
- Chicken bouillon
- Water
How to Make Charro Beans:
1. Cook the Pinto beans: Pour dry beans into a colander and rinse them off, removing any unwanted pieces. Add to a large pot with 6 cups of water (or enough to cover them by about 2 inches), a small chunk of onion, bay leaf and ½ teaspoon of salt.
Bring to a boil, then reduce heat to a simmer and cook for 1 to 2 hours, until the beans are tender, but not bursting. (Mine usually take about 1 hour but it will depend on how dry/old your beans are). Check them a few times during cooking to make sure they are covered in water and add a little more water if needed.
2. Drain and reserve broth. Once the beans are tender, drain them, reserving the liquid and pouring it into a measuring cup. Add water (or reduce leftover broth, as need) to the measuring cup to make 2 ½ cups of total liquid. Stir in 1 teaspoon chicken bouillon. Set aside.
3. In a large pot add the bacon and chorizo and cook for about 5 minutes or until bacon is cooked. Remove some of the grease. Add onion and garlic and cook until onion is translucent. Add ham (sausages, if using), diced tomatoes, peppers, cilantro, oregano, paprika, cumin, black pepper and cook for 5 additional minutes.
4. Add the cooked beans, and broth and simmer for 15 minutes. Taste and season with salt and pepper, or additional spices if needed.Serve garnished with cilantro.
You can serve charro beans as a main dish soup with warm tortillas on the side. When serving them as a side dish I like to stir in a cornstarch slurry (1 tablespoon cornstarch mixed with 2 tablespoons water) to thicken the sauce.
Instant Pot Charro Beans:
Turn Instant Pot to sauté setting. Add bacon and chorizo and cook. Remove some of the grease. Add the onions and garlic, and cook until the onions are softened. Add ham, diced tomatoes, peppers, cilantro, oregano, paprika, cumin, and cook for 5 additional minutes. Add dry pinto beans and 5 cups of chicken broth. Secure the lid and cook on high pressure for 30 minutes. Allow the pressure to naturally release before removing the lid (about 20-30 minutes). Taste and season with salt and pepper.
Slow Cooker Charro Beans:
Sauté bacon, chorizo, onion and garlic in a pan and add to slow cooker with ham, diced tomatoes, peppers, cilantro, oregano, paprika, cumin, dry pinto beans, and 6 cups of chicken broth. Cook on low for 8-10 hours or on high for 4-5 hours until beans are tender. Taste and season with salt and pepper as needed.
Variations and adaptations:
- For canned pinto beans: 5-6 cups of canned pinto beans may be substituted. Drain the liquid from the canned beans into a liquid measuring cup and add water, if needed, to reach 2 ½ cups of total liquid. Stir in chicken bouillon. Add the beans and liquid when directed in step 2, under “Make Charro Beans”.
- Substitute black beans: You can substitute dried black beans, cooking them the same way.
- For Borracho beans: In step 3 after cooking the beans, only reserve ¼ cup of bean liquid and add 12 oz. of dark beer.
- Substitute different meat: Traditionally, charro beans are made with whatever meat you have on hand. Add pork rind beef, or other pieces of chopped meat.
- To thicken the beans: Charro beans are not traditionally “thick” but more like a soup. If you want the sauce slightly thickened you can stir in a cornstarch slurry (1 tablespoon of corn starch mixed with 2 tablespoons of water). I do this when serving them as a side dish.
- Spice Level: Control the spice with the chipotle peppers and jalapeños. Add more, less, or remove the seeds and veins from the jalapeño to reduce heat.
- Vegetarian/Vegan Charro Beans: omit the meat and add vegan chorizo, extra beans (like black beans), or additional vegetables like tomato, celery, and bell pepper. Also substitute 1 tsp vegetable bouillon.
Make ahead and freezing Instructions:
To make ahead: The dry pinto beans can be cooked and stored, along with their reserved liquid, several days in advance, or the entire recipe can be made 2-3 days in advance and stored in the fridge. Rewarm over low heat on the stove. To make the dish even simpler, you can substitute canned pinto beans (see my notes in the recipe card).
To freeze: Allow to cool before storing in a freezer safe container for up to 3 months. Thaw overnight in the fridge and then re-warm in a pot on the stove.
Serve with:
- Warm flour or corn tortillas
- Mexican Rice
- Cheese Enchiladas
- Carne Asada Tacos
- Carnitas
You can also FOLLOW ME on FACEBOOK, TWITTER, INSTAGRAM and PINTEREST for more great recipes!
Recipe

Charro Beans
Ingredients
For the Charro Beans:
- 5 slices bacon , chopped
- 5 ounces chorizo (or 2 sausages or hot dogs), chopped
- 1 cup diced ham or sausages
- ½ of a yellow onion , chopped
- 3 cloves garlic , minced
- 2 tomatoes* , diced
- 1 jalapeno or serrano pepper , seeded and chopped
- ½ - 1 chipotle pepper in adobo sauce , chopped (optional, but recommended for a smoky spice)*
- 1 cup fresh chopped cilantro (about ½ bunch)
- 1/2 teaspoon cumin
- ½ teaspoon paprika
- 1/2 teaspoon Dried oregano
- Salt and pepper , to taste
- 1 teaspoon chicken bouillon
Instructions
Cook the Pinto beans:*
- Pour dry beans into a colander and rinse them off, removing any unwanted pieces. Add to a large pot with 6 cups of water (or enough to cover them by about 2 inches), a small chunk of onion, bay leaf and ½ teaspoon of salt.
- Bring to a boil, then reduce heat to a simmer and cook for 1 to 2 hours, until the beans are tender, but not bursting. (Mine usually take about 1 hour but depends on how dry/old your beans are). Check them a few times during cooking to make sure they are covered in water and add a little more water if needed.
- Once the beans are tender, drain them, reserving the liquid and pouring it into a measuring cup. Add additional water (or reduce liquid if needed) to make 2 ½ cups of total liquid. Stir in 1 teaspoon chicken bouillon. Set aside.
Make Charro beans:
- Add the bacon and chorizo to a large pot and cook for about 5 minutes or until bacon is cooked. Remove some of the grease. Add onion and garlic and cook until onion is translucent. Add ham (sausages, if using), diced tomatoes, peppers, cilantro, oregano, paprika, cumin, black pepper and cook for 5 additional minutes.
- Add cooked beans and broth and simmer for 15 minutes. Taste and season with salt and pepper, or additional spices if needed. Garnish with cilantro before serving.
- Serve as a main dish, wish warm tortillas, or as a side dish. When serving as a side dish I like to thicken the beans by adding a cornstarch slurry at the end (1 tablespoon of corn starch mixed with 2 tablespoons of water).
Notes
Nutrition
Create a FREE Account to save your favorite recipes and create meal plans
Serving size is about 1 cup.
HAVE YOU TRIED THIS RECIPE?!
RATE and COMMENT below! I would love to hear your experience.
This post contains affiliate links.
SO GOOD! My husband said, “you nailed the beans.” Fabulous recipe!
This was excellent everyone loved it i give it 5 stars especially liked that you left notes for using dry or canned beans thank you
Best beans ever! Went back to the store and bought more bags of beans. Forgot the bay leaf and onion while boiling beans. Didn’t add any meats other than bacon and skipped the chipotle and they were still heavenly. Didn’t even eat tacos because I filled up on these beans
Outstanding. Plenty leftover for burritos. Never buying “baked beans” again. Thanks!!
Amazing!!! I don’t normally leave reviews (I forget) but these beans were so delicious and flavorful. I only made a small amount and instantly regretted it. My son almost didn’t get any. These are going into my rotation. Definitely making the whole recipe next time.
My bride loves charro beans, however, I’ve only had them in restaurants and stopped ordering them for myself. No flavor. Decided to give this recipe a try. I’m HOOKED! Being in Deep East Texas, 1 jalapeño was not gonna cut it, so I use three. I now have an emergency charro bean ingredient bag in the freezer with the ham, bacon, chorizo, and chipotle peppers.. well I did. Making 2nd pot in 3 weeks now.
Fantastic tasting beans. I don’t like sweet beans so these are my style. I used the chorizo, ham, and bacon and it was perfect. Last time I used a habanero sausage and that was great too.
I absolutely love this recipe! I doubled the recipe and will be taking it to a Friday night tailgate party. The spices are perfect! We love spicy so I used a large pointy tipped Jalapeño pepper. Thank you for providing the recipe.