Anahi Perez

  • Welcome
  • Recipes
  • About Me
  • Shop My Plants 🌿
menu icon
go to homepage
  • Welcome
  • Recipes
  • About Me
  • Shop My Plants 🌿
search icon
Homepage link
  • Welcome
  • Recipes
  • About Me
  • Shop My Plants 🌿
×
Home » Recipes » Traditional Mexican Sides

Frijoles Charros (Brothy Pinto Beans with Bacon)

Jump to Recipe Print Recipe
Brothy pinto beans with bacon, tomato, serrano, and cilantro. PIN IT

At one family cookout, my tía put the beans on the stove before anyone had agreed on what was going on the grill. I kept sneaking into the kitchen for a little bowl while everyone else argued about the fire. By the time dinner was ready, the beans had already become my favorite part.

I still think a pot of frijoles charros makes a table feel taken care of. There is something generous about passing a ladle and telling someone to take a little more broth. My version keeps the bacon, tomato, and chile front and center, with enough liquid for a tortilla to catch at the bottom of the bowl.

Jump to recipe

Why I love this recipe

Charro beans are meant to be brothy rather than mashed. This version starts with cooked pinto beans, so the time on the card does not hide a long dried-bean simmer. Bacon seasons the pot, softened tomatoes build the broth, and cilantro goes in at the end. There is no beer here; it is not a borracho-bean recipe.

Ingredients and what they do

  • 8 ounces bacon: cut into ½-inch pieces
  • 1 medium white onion: diced
  • 1 medium serrano chile: minced; remove seeds for less heat
  • 3 cloves garlic: minced
  • 3 medium Roma tomatoes: diced, about 1 ½ cups
  • 6 cups cooked pinto beans: drained; about four 15-ounce cans, drained and rinsed
  • 3 cups low-sodium chicken broth or reserved bean cooking liquid: plus more if needed
  • ½ teaspoon dried Mexican oregano: crushed
  • ¼ teaspoon ground black pepper
  • ¼ teaspoon fine salt: plus more to taste
  • ½ cup fresh cilantro: chopped, divided

How to make Frijoles Charros (Brothy Pinto Beans with Bacon)

  1. Cook the bacon. Place bacon in a large heavy pot over medium heat. Cook for 8–10 minutes, stirring, until browned and the fat has rendered. Spoon off excess fat, leaving about 2 tablespoons in the pot with the bacon.
  2. Soften the aromatics. Add onion and serrano and cook for 4–5 minutes, until onion softens. Stir in garlic for 30 seconds. Add tomatoes and cook for about 6 minutes, stirring and scraping the bottom, until juicy and softened.
  3. Build the bean broth. Add cooked drained beans, 3 cups broth or bean liquid, oregano, pepper, and salt. Bring to a gentle simmer. The liquid should be visible between the beans; add a little more if the pot looks dry.
  4. Simmer together. Simmer uncovered for 15 minutes, stirring occasionally, so the tomato and bacon flavor the broth. Keep the beans whole rather than mashing them. Add more liquid if needed to maintain a brothy consistency.
  5. Finish and serve. Stir in half the cilantro. Taste the broth and adjust salt, especially if using canned beans or salty bacon. Serve in small bowls with the remaining cilantro scattered over the top.

My kitchen notes

Cooked beans are required

The 50-minute total begins with cooked beans. If starting from dried beans, cook them separately until tender before measuring 6 cups; that additional time is not included.

Choose your broth

Bean cooking liquid gives a fuller bean flavor. Chicken broth is convenient with canned beans. Either should be mild in salt because bacon contributes seasoning.

Meal pairing

This makes 8 side portions or approximately 4 larger bowls. Bacon makes this version unsuitable for a vegetarian menu. The recipe intentionally omits chorizo and sausage.

What to serve with it

Build a meal around it with Carnitas, Chile Colorado, Mexican red rice. Choose the pairing that fits your table, and use the linked recipe for its own ingredients and timing.

Frequently asked questions

Are frijoles charros the same as refried beans?

No. These are whole pinto beans in broth. Refried beans are mashed and cooked to a much thicker consistency.

Can I use canned beans?

Yes. Drain and rinse approximately four 15-ounce cans and measure 6 cups. Canned yields vary, so the cup measurement is the useful guide.

Can I make the beans thicker?

Simmer a little longer uncovered, but keep enough liquid to spoon around the beans. The dish should remain brothy.

Recipe

Brothy pinto beans with bacon, tomato, serrano, and cilantro. PIN IT

Frijoles Charros (Brothy Pinto Beans with Bacon)

Anahi Perez
A comforting pot of brothy pinto beans with bacon, tomato, onion, serrano, and cilantro, made with cooked beans for an approachable family side.
Print Recipe Pin Recipe
Prep Time 15 minutes mins
Cook Time 40 minutes mins
Total Time 55 minutes mins
Course Side Dish
Cuisine Mexican
Servings 8 side servings

Equipment

  • Large heavy pot
  • Ladle

Ingredients
  

  • 8 ounces bacon cut into ½-inch pieces
  • 1 medium white onion diced
  • 1 medium serrano chile minced; remove seeds for less heat
  • 3 cloves garlic minced
  • 3 medium Roma tomatoes diced, about 1 ½ cups
  • 6 cups cooked pinto beans drained; about four 15-ounce cans, drained and rinsed
  • 3 cups low-sodium chicken broth or reserved bean cooking liquid plus more if needed
  • ½ teaspoon dried Mexican oregano crushed
  • ¼ teaspoon ground black pepper
  • ¼ teaspoon fine salt plus more to taste
  • ½ cup fresh cilantro chopped, divided

Instructions
 

  • Place bacon in a large heavy pot over medium heat. Cook for 8–10 minutes, stirring, until browned and the fat has rendered. Spoon off excess fat, leaving about 2 tablespoons in the pot with the bacon.
  • Add onion and serrano and cook for 4–5 minutes, until onion softens. Stir in garlic for 30 seconds. Add tomatoes and cook for about 6 minutes, stirring and scraping the bottom, until juicy and softened.
  • Add cooked drained beans, 3 cups broth or bean liquid, oregano, pepper, and salt. Bring to a gentle simmer. The liquid should be visible between the beans; add a little more if the pot looks dry.
  • Simmer uncovered for 15 minutes, stirring occasionally, so the tomato and bacon flavor the broth. Keep the beans whole rather than mashing them. Add more liquid if needed to maintain a brothy consistency.
  • Stir in half the cilantro. Taste the broth and adjust salt, especially if using canned beans or salty bacon. Serve in small bowls with the remaining cilantro scattered over the top.

Notes

Cooked beans are required: The 50-minute total begins with cooked beans. If starting from dried beans, cook them separately until tender before measuring 6 cups; that additional time is not included.
Choose your broth: Bean cooking liquid gives a fuller bean flavor. Chicken broth is convenient with canned beans. Either should be mild in salt because bacon contributes seasoning.
Meal pairing: This makes 8 side portions or approximately 4 larger bowls. Bacon makes this version unsuitable for a vegetarian menu. The recipe intentionally omits chorizo and sausage.

More ideas for your table

These brothy beans also fit beside green chicken tamales when you are putting together a meal for family. Serve the beans separately so the tamales keep their soft, distinct texture.

More Traditional Mexican Sides

  • Authentic Mexican salsa verde with tomatillos
    Authentic Mexican Salsa Verde
  • Golden corn casserole with small roasted poblano pieces and cheddar
    Poblano Corn Casserole with Cheddar
  • Bowl of chunky roasted tomato salsa roja with tortilla chips
    Restaurant Style Roasted Salsa Roja
  • Chunky guacamole with onion, cilantro, serrano, and lime in a stoneware bowl
    Chunky Guacamole with Serrano and Lime

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recipe Rating




Anahi Perez in her kitchen

Hi, I’m Anahi. My love for food started with my dad’s cooking and grew into a passion for creating meals that feel like home. Here, I share simple, flavor-packed recipes inspired by my culture and everyday life. I hope you find something here that brings warmth to your own table.

More about me

Recipe ideas

  • Pot of caldo de pollo with chicken, corn, carrots, potatoes, zucchini, and cilantro.
    Caldo de Pollo (Mexican Chicken Soup)
  • Stuffed Poblano Peppers in Creamy Chipotle Sauce
    Stuffed Poblano Peppers in Creamy Chipotle Sauce
  • Mexican Rice Pudding (Arroz con Leche)
    Mexican Rice Pudding (Arroz con Leche)
  • Chile Colorado
    Chile Colorado

Footer

↑ back to top

About

  • Privacy Policy

Contact

  • Contact

As an Amazon Associate I earn from qualifying purchases.

Copyright © 2026 Anahi Perez

Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}