
Charro Beans (Frijoles Charros)
Tender pinto beans simmered in a smoky broth with bacon, Mexican chorizo, tomato, onion and jalapeño, then finished with fresh cilantro. A hearty side for grilled meats, or a meal with tortillas.
- Prep
- 25 min
- Cook
- 2 hr 30 min
- Wait
- 8 hr
- Total
- 10 hr 55 min
- Makes
- About 8 cups (8 generous side servings)
Steps
Before you start
- Soak the beans in cold water for 8 hours or overnight, so plan to start the night before.
- Use Mexican (raw, fresh) chorizo sold in a casing or bulk, not dry-cured Spanish chorizo.
- Do not add salt until the beans are tender; the bacon and chorizo are already salty, so season at the end.
- Wear gloves when seeding jalapeños, or wash your hands well afterward.
Soak the beans
- Pick through the pinto beans and discard any stones or shriveled beans.
- Rinse, then place in a large bowl and cover with cold water by 3 inches (7.5 cm).
- Soak 8 hours or overnight at room temperature.
- Drain and rinse.
+ Show details− Hide details
Ready when: Beans look plump and have no hard white center when one is cut open
Tip: Beans will expand to roughly double their size, so use a big bowl.
Render the bacon
- Set a 6-quart (5.7 L) heavy pot over medium heat.
- Add the bacon and cook, stirring occasionally, for 8 to 10 minutes until the fat has rendered and the pieces are browned and crisp at the edges.
+ Show details− Hide details
Ready when: Bacon is browned and about 2 tablespoons or more of fat have pooled in the pot
Tip: Lower the heat if the bacon browns before the fat renders.
Brown the chorizo
- Add the chorizo to the pot, breaking it into small crumbles with a wooden spoon.
- Cook 5 to 6 minutes, stirring often, until it is cooked through and the fat turns deep red-orange.
+ Show details− Hide details
Ready when: No raw pink meat remains and crumbles are lightly browned (160°F/71°C)
Tip: Scrape up any browned bits; they add flavor to the broth.
Soften the aromatics
- Add the onion and jalapeños to the pot.
- Cook, stirring, 4 to 5 minutes until the onion is soft and translucent.
- Stir in the garlic, cumin and oregano and cook 30 seconds until fragrant.
+ Show details− Hide details
Ready when: Onion is translucent and the garlic smells fragrant but is not browned
Tip: Add a splash of water if the garlic starts to stick or darken.
Add beans and water
- Stir in the drained beans, 8 cups (1900 ml) water and the bay leaves.
- Bring to a boil over high heat, then reduce to low so the liquid is barely bubbling.
+ Show details− Hide details
Ready when: Liquid reaches a full boil before you turn it down
Tip: Skim off any foam that rises to the surface for a cleaner-tasting broth.
Simmer until almost tender
- Partially cover the pot with the lid slightly ajar.
- Simmer gently 1 hour 15 minutes, stirring every 20 minutes.
- Check that the beans stay submerged and add hot water, ½ cup (120 ml) at a time, if the level drops below the beans.
+ Show details− Hide details
Ready when: Beans are almost tender but still slightly firm in the center
Tip: A hard boil can split the skins and make the beans mushy.
Add tomatoes
- Stir in the diced tomatoes.
- Continue simmering, partially covered, 30 to 45 minutes more until the beans are completely creamy and tender and the broth is slightly thickened.
+ Show details− Hide details
Ready when: Beans squash easily between your fingers or against the pot side with no chalky center
Tip: Acidic tomatoes added too early can keep beans from softening, so wait until they are nearly tender.
Season the beans
- Remove and discard the bay leaves.
- Stir in 1 teaspoon salt and a few grinds of pepper, simmer 5 minutes, then taste.
- Add more salt, ¼ teaspoon at a time, until the flavors are bright.
- Mash a few beans against the pot to thicken the broth if you like.
+ Show details− Hide details
Ready when: Broth tastes savory and well seasoned, with a brothy-stew consistency
Tip: Bacon and chorizo vary in saltiness, so always taste before adding more salt.
Finish and serve
- Turn off the heat and stir in the chopped cilantro.
- Let the beans rest 10 minutes to thicken slightly, then ladle into bowls with plenty of broth.
- Serve with lime wedges, if using.
+ Show details− Hide details
Ready when: Broth clings lightly to the beans
Tip: Squeeze lime over each bowl just before eating for the brightest flavor.
Good to know
Tips
- Use a gentle simmer, not a boil, for creamy beans with intact skins.
- Old dried beans can take much longer to soften; use beans from the past year for best results.
- For a spicier pot, leave the jalapeño seeds in or add a serrano.
- Skim excess red chorizo fat from the surface before serving if the beans look too greasy.
Make ahead
Soak the beans up to 24 hours ahead. The finished beans taste even better made 1 to 2 days ahead; cool and refrigerate, then reheat gently and stir in the cilantro just before serving.
Storage & reheating
Room temperature: up to 2 hours. Refrigerator: airtight container up to 5 days. Freezer: up to 3 months in airtight containers with broth covering the beans. Reheat in a pot over medium-low heat, adding a splash of water, until steaming hot (165°F/74°C).
Substitutions
- dried pinto beans → Three 15-oz (425 g) cans pinto beans, drained. Skip the soak, use 3 cups (710 ml) water, and simmer only 25 to 30 minutes after adding tomatoes.
- fresh Mexican chorizo → Smoked sausage or andouille, diced. Add 1 teaspoon chili powder with the cumin to replace the chorizo's spice.
- thick-cut bacon → Diced ham plus 2 tablespoons lard or oil. Brown the ham in the fat in place of the bacon; use only oil for a lighter version.
- ripe Roma tomatoes → One 14.5-oz (411 g) can fire-roasted diced tomatoes, drained. Adds more smokiness; use when fresh tomatoes are out of season.
More bean sides
See all →Find more like this
- Meal
- Dinner
- Cuisine
- Mexican
- Main ingredient
- BaconBeans & Lentils
- Method
- Stovetop





