Advertisement

Frijoles Charros (Mexican Cowboy Beans)

Hearty frijoles charros with pinto beans simmered in a smoky broth with tomatoes, jalapeño, cilantro, and crispy sausage. A one-pot comfort meal that's even better the next day. Includes vegan and traditional options.

Bowl of vegan frijoles charros with pinto beans, tomatoes, and cilantro

About this recipe

Frijoles charros (literally “cowboy beans”) are one of the heartiest, most comforting dishes in Mexican cuisine. They’re pinto beans simmered in a rich, savory broth loaded with tomatoes, onion, chiles, cilantro, and, traditionally, various meats like bacon, chorizo, and sausages.

Growing up in Monterrey, frijoles charros were a fixture at every carne asada. They’re the kind of dish that feeds a crowd and tastes even better the next day. This is my vegan version, and honestly, it’s the one I make most often. The smoky plant-based sausage gives it that familiar richness without any meat, and no one at the table ever misses it.

Why you’ll love this recipe

  • Hearty and filling: A complete meal in one pot – protein-packed beans in a rich, smoky broth.
  • 100% plant-based: All the flavor of traditional charros, no meat needed.
  • Easy to make: Simple prep, one pot, and mostly hands-off simmering.
  • Better the next day: The flavors deepen overnight, making this perfect for meal prep.
  • Crowd-friendly: Scales up easily for parties and gatherings.

A white light bulb icon with rays radiating from it, symbolizing an idea or innovation—like the inspiration behind a delicious lentil mushroom ragu—is centered on a solid black circular background.

How authentic frijoles charros are made

Traditional frijoles charros are named after the charros – the cowboys of Mexico – who cooked these beans over an open fire because they were hearty, cheap, and made in one pot. The authentic recipe starts with pinto beans simmered until tender, then combined with a sofrito of:

  • Bacon – rendered until crispy, providing the smoky base fat.
  • Chorizo – Mexican-style, crumbled and browned for spice and depth.
  • Ham or salchichas (hot dogs) – diced and sauteed for meaty richness.
  • Onion, tomato, jalapeño or serrano, and cilantro – the fresh vegetable base.
  • Beef or chicken broth – for a richer, deeper liquid.

In Monterrey, where I grew up, charros are always thick and served as a side with carnes asadas. In other parts of Mexico, they can be brothier, almost like soup. Some regions add dried chiles like chile de arbol or guajillo for extra heat and color.

Frijoles charros vs. frijoles borrachos: Very similar, but borracho beans (“drunken beans”) are cooked with beer, which adds a slightly bitter, malty depth. Charros skip the beer.

For my home, the vegan version below is how I like them best. The plant-based sausage gives the same smoky, savory bite, and the broth comes together beautifully with vegetable broth.

Ingredients for vegan frijoles charros laid out on a cutting board

Ingredient notes

  • Pinto beans – Use cooked pinto beans (homemade or canned). You’ll need about 3 cups cooked, which is roughly 2 cans, drained. Save the cooking liquid if using homemade – it adds incredible depth to the broth.
  • Sausage – Any hot dog or frankfurter works, even plant-based. Dice them and brown until crispy. Remove them before adding the other ingredients – they absorb a lot of liquid if left in.
  • Onion, tomato, and cilantro – The fresh vegetable base. Use Roma tomatoes for the best texture, or canned diced tomatoes in a pinch.
  • Jalapeño or serrano pepper – For heat. Leave the seeds in for spicier beans, or remove them for a milder version. You can also add chipotle in adobo for smokiness.
  • Vegetable broth – Adds body and flavor to the liquid. Homemade broth is ideal, but store-bought works fine.
  • Oil – For sauteing. Any neutral oil works.
Sauteing vegetables for vegan frijoles charros in a Dutch oven

How to make frijoles charros

  1. Cook the beans (if using dried). Rinse and simmer pinto beans in water for about 2 hours until tender. You can also use your Instant Pot or start with canned pinto beans to save time.
  2. Brown the regular or vegan sausage. In a large pot or Dutch oven, cook the diced sausage over medium-high heat until crispy on the edges, about 4-5 minutes. Remove from the pot and set aside. If you are using bacon, chorizo or ham, do it first.
  3. Sauté the vegetables. In the same pot, add a little oil. Sauté the diced onion until translucent, about 3-4 minutes. Add the garlic, tomatoes, and jalapeño. Cook for another 5 minutes until the tomatoes soften and release their juices. Season with salt.
  4. Add the beans and broth. Pour in the cooked pinto beans (with some of their cooking liquid if you have it) and the vegetable broth. Stir to combine. Bring to a boil, then reduce the heat and simmer for 25-30 minutes to let the flavors meld.
  5. Season and serve. Taste and adjust salt. Add the browned sausage and chopped cilantro just before serving.
Pot of vegan frijoles charros simmering with tomatoes and cilantro

Tips for the best frijoles charros

  • Brown the sausage separately: Cook them until crispy, then set aside. Add them back at the very end so they don’t get soggy from absorbing the broth.
  • Too thin? Use a potato masher to mash a few beans against the side of the pot. This thickens the broth naturally.
  • Adjust the heat: More jalapeños or a spoonful of chipotle in adobo for smokier, spicier beans. Fewer chiles for a milder version.
  • Make it ahead: This is one of those recipes that tastes better the next day. The flavors keep deepening as it sits.
  • Use canned beans for speed: 2 cans of drained pinto beans plus 2 cups of broth gets you a weeknight-fast version.

Variations

  • Smoky charros: Add 1-2 chipotles in adobo when sauteing the vegetables.
  • Extra hearty: Stir in diced vegan chorizo alongside the sausage for a double-protein version.
  • Spicier: Add dried chile de arbol or serrano to the simmer.
  • Borracho-style: Add 1 cup of dark beer when you add the broth for a “frijoles borrachos” twist.
Bowl of vegan frijoles charros served with tortillas and cilantro

How to serve vegan frijoles charros

In my vegan household, we serve them as a brothy soup on cold, rainy days, or for breakfast alongside sopes or tostadas. They also go perfectly with warm corn tortillas, homemade tortilla chips, or a bowl of arroz primavera.

You can also serve them alongside cabbage chorizo tacos or as a side at your next cookout, just like we do in Monterrey.

How to store frijoles charros

  • Fridge: Store in an airtight container for up to 5 days. They thicken as they cool – add a splash of broth or water when reheating.
  • Freezer: Freeze in portions for up to 3 months. Leave out the sausage if possible (it can change texture when frozen).
  • To reheat: Warm on the stovetop over medium-low heat, stirring occasionally. Add water or broth to loosen. The microwave works too in 1-minute intervals.

Frequently asked questions

More bean recipes you’ll love:

vegan frijoles charros 11

Frijoles Charros (Mexican Cowboy Beans)

Alejandra Graf
Hearty frijoles charros with pinto beans simmered in a smoky broth with tomatoes, jalapeño, cilantro, and crispy sausage. A one-pot comfort meal that's even better the next day. Includes vegan and traditional options.
3.50 de 2 votos
Prep Time 10 minutes
Cook Time 30 minutes
Total Time 40 minutes
Course Side Dish
Cuisine Mexican
Servings 6 people
Calories 233 kcal

Equipment

Ingredients
  

Beans (use one option):

  • 3 cups cooked pinto beans homemade or canned, with some cooking liquid reserved
  • OR 2 cans 15 oz each pinto beans, drained and rinsed

Protein (choose one):

  • 4 plant-based sausages or vegan hot dogs diced
  • OR 4 slices bacon chopped + 1/2 cup diced ham + 1/2 cup Mexican chorizo

Vegetables and aromatics:

  • 1 medium white onion diced
  • 2 cloves garlic minced
  • 2 Roma tomatoes diced (or 1 cup canned diced tomatoes)
  • 1 jalapeño pepper diced (seeds in for spicier, out for milder)
  • 1/2 cup fresh cilantro chopped

Broth:

Other:

  • 2 tablespoons vegetable oil or use rendered bacon fat for non-vegan
  • Salt to taste

Optional add-ins:

  • 1-2 chipotles in adobo chopped (for smokiness)
  • 1 cup dark beer for a borracho-style twist
  • Cook the beans skip if using canned. Rinse dried pinto beans and simmer in water for about 2 hours until tender. Drain and reserve some cooking liquid. You can also cook them in an Instant Pot on high pressure for 35-40 minutes with natural release.

Instructions
 

  • Cook the beans (skip if using canned). Rinse dried pinto beans and simmer in water for about 2 hours until tender. Drain and reserve some cooking liquid.
  • You can also cook them in an Instant Pot on high pressure for 35-40 minutes with natural release.
  • Brown the protein. Heat a large pot or Dutch oven over medium-high heat. If using bacon, chorizo, or ham, cook the bacon first until crispy, then add the chorizo and ham and cook until browned, about 5-6 minutes total. Remove from the pot and set aside. If using plant-based sausage, dice and cook until crispy on the edges, about 4-5 minutes. Remove and set aside.
  • Saute the vegetables. In the same pot (use the rendered fat from the meat, or add oil if using vegan sausage), saute the diced onion until translucent, about 3-4 minutes. Add the garlic, tomatoes, and jalapeño. Cook for 5 minutes until the tomatoes soften and release their juices. Season with salt.
  • Add the beans and broth. Pour in the cooked pinto beans and broth. If using homemade beans, add some of their cooking liquid for extra flavor. Stir to combine. Bring to a boil, then reduce heat to low and simmer for 25-30 minutes.
  • Thicken if needed. If you want a thicker consistency, use a potato masher to mash a few beans against the side of the pot.
  • Finish and serve. Taste and adjust salt. Stir in the browned protein and chopped cilantro just before serving. Serve hot with warm tortillas or tortilla chips.

Notes

  • Meat vs. vegan protein: If using bacon, chorizo, or ham, cook them first to render the fat, then use that fat to sauté the vegetables for deeper flavor. If using plant-based sausage, brown them separately and add them back at the very end. Vegan sausages absorb a lot of liquid and will get soggy if simmered in the broth.
  • Canned bean shortcut: Use 2 cans of drained pinto beans and 2 cups of broth. Skip step 1 entirely. Total cook time drops to about 50 minutes.
  • Thickness: Frijoles charros in Monterrey and northern Mexico are traditionally thick, almost stew-like. In other regions, they are more brothy. Adjust by adding more broth for soup or mashing a few beans for thickness.
  • Spice level: One jalapeño gives mild heat. For more heat, add an extra jalapeño or 1-2 chipotles in adobo with the vegetables. For less, remove the jalapeño seeds or skip the chile entirely.
  • Borracho twist: Add 1 cup of dark beer when you add the broth for “frijoles borrachos” (drunken beans).
  • Better the next day: The flavors deepen overnight. This is an ideal meal-prep recipe.
  • Storage: Refrigerate in an airtight container for up to 5 days. Freeze (without sausage) for up to 3 months. Reheat on the stovetop with a splash of water or broth.

Nutrition

Serving: 1servingCalories: 233kcalCarbohydrates: 28gProtein: 12gFat: 8gSaturated Fat: 3gPolyunsaturated Fat: 1gMonounsaturated Fat: 4gCholesterol: 34mgSodium: 666mgPotassium: 531mgFiber: 9gSugar: 3gVitamin A: 329IUVitamin C: 9mgCalcium: 63mgIron: 3mg
Keyword canned beans, pinto beans

information

Nutritional information of this recipe is only an estimate, the accuracy for any recipe on this site is not guaranteed.

Did you make this recipe?Tag @piloncilloyvainilla on Instagram and hashtag it #alecooks so we can all see your creations.
Add us as a preferred source on Google
Add us as a preferred source on Google
Mexican Favorite RecipesWeeknight Dinners
3.50 from 2 votes (2 ratings without comment)
Subscribe
Notify of
guest
Recipe Rating




0 Comments
Oldest
Newest
Inline Feedbacks
View all comments