Charro Beans – Smoky, Hearty & Better Than Canned
Charro beans made from scratch with bacon, jalapeño, and bold spices. One pot, real flavor, and worth every minute.
My husband's coworker brought a pot of charro beans to a work thing last fall, and he came home and basically interrogated me about why I'd never made them. "Did you know beans could taste like that?" Yes. Yes I did, babe. I just hadn't gotten there yet. So I figured it out. Took me three tries the first batch was too watery, the second I oversalted, and the third time I stood over the pot at 7 PM on a Wednesday while my youngest tried to climb my leg and thought: this is it. That's the one. Here's the honest part: this is not a five-minute recipe. Not even close. The beans need time low heat, slow simmer, the kind of patience that's hard to find when three kids are asking for snacks every eleven minutes. My oldest, who is very committed to holding me accountable, looked at the timer and said "Mom, this is not five minutes." I told her to go fold the kitchen towels and she did not, in fact, go fold the kitchen towels. But the beans were worth it. Hands-on time is maybe 15 minutes. The rest is the pot doing the work while you referee whatever chaos your household has going that evening. What you end up with is something smoky and thick and deeply savory bacon fat coating every bean, jalapeño heat that sneaks up on you, and a broth that smells like something a grandmother made with serious intention. The beans stay whole but go soft all the way through. Not mushy. There's a difference, and it matters. Two things I've learned from making this more times than I can count: don't skip soaking the beans overnight if you have the time (they cook faster and more evenly), and don't add the salt until the last 20 minutes or the beans toughen up and stay tough no matter how long you cook them. I learned that second one the hard way. It was not a fun discovery at 8 PM. I make this for big family dinners, potlucks, or honestly just a Tuesday when I want something that feels like real cooking without requiring actual culinary skill. Anyone who has a Dutch oven and an afternoon this is for you.
What Most People Get Wrong About Charro Beans
The biggest mistake? Rushing them. I know, I know you're tired and it's a weeknight. But pinto beans that haven't had time to fully absorb all that bacon-and-jalapeño flavor are just... beans. They need the simmer. A real simmer, not a boil (boiling breaks the skins and turns everything cloudy and sad-looking). The second mistake is skipping the dried chiles. A lot of home versions just use chili powder and call it day. And chili powder is fine I use it too but a couple dried chiles (I use guajillo) bloomed in the hot fat before anything else goes in adds a depth that powder alone can't touch. It's not complicated. You just need to do it. Also: canned tomatoes, not fresh. Fresh tomatoes are beautiful and I love them, but they don't break down the same way in a long-cooked broth. Canned give you that concentrated, slightly sweet flavor that actually holds up. I know people get snobby about canned tomatoes. Don't be snobby about canned tomatoes. The bacon matters too. I use thick-cut because I want to actually find pieces of it in my bowl. Regular bacon just kind of disappears. Thick-cut bacon in charro beans is a strong opinion I will not be backing down from.
Storage
Let the beans cool completely before storing don't put a hot pot directly in the fridge, it'll raise the temperature in there and stress out everything else on the shelf. Store in an airtight container for up to 5 days. They actually taste better on day two, which is either a feature or a character flaw of this recipe. I haven't decided. Charro beans freeze well in zip-lock bags laid flat for up to 3 months thaw in the fridge overnight.
Reheating
Stovetop on medium-low with a splash of water or broth to loosen the liquid back up about 8–10 minutes, stirring occasionally. Microwave works too: high power for 2 minutes, stir, then another 1–2 minutes until steaming through. Don't skip the stir in the middle or you'll get hot spots and cold spots and a lukewarm bean experience, which is nobody's goal.
Variations You Should Actually Try
Swap the bacon for chorizo cook it first and let the fat render out, then use that fat to bloom your chiles. The flavor goes smokier and spicier and my kids think it's a completely different dish (I use this to my advantage regularly). Skip the meat entirely and use a tablespoon of smoked paprika plus a parmesan rind thrown in during the simmer. The rind melts into the broth and adds this salty, almost creamy thickness that doesn't taste like cheese but tastes like something secret and good. My vegetarian sister-in-law asks me to make this version specifically. Add a bottle of Mexican lager in with the broth. Half a cup into the beans while they're simmering. It sounds weird. It is not weird. It adds a subtle bitterness that rounds everything out and makes you feel like you really know what you're doing in the kitchen. For more heat, add a chipotle pepper in adobo sauce (just one, chopped fine) along with the jalapeño. The smokiness doubles and it gets genuinely spicy not unbearable, but enough that my ten-year-old started drinking her water with both hands, which is how I know it worked.
What to Serve It With
The lazy pairing: warm flour tortillas and nothing else. Tear, scoop, eat while standing at the stove. No judgment. The impressive pairing: serve alongside carne asada or grilled chicken thighs with a simple cabbage slaw. It rounds out a whole plate in a way that makes it look like you planned a real meal, even if the beans were the only thing you actually thought about. For drinks: an ice-cold Mexican lager (Modelo, Pacifico, whatever's in the back of your fridge) or a agua fresca if you're feeding kids who've already had too much sugar today. Both work. Neither is wrong. If anyone at your table says they don't like beans, serve them a bowl of this and then check back in five minutes. I'm just kidding. I know they will love that.
Ingredients
- 6 oz thick-cut bacon, cut into 1-inch pieces
- 2 dried guajillo chiles, stemmed and seeded
- 1 medium white onion, diced
- 4 cloves garlic, minced
- 1 jalapeño, seeded and diced
- 1 tsp ground cumin
- 1 tsp chili powder
- 1 can (14.5 oz) diced tomatoes, undrained
- 1 lb dried pinto beans, soaked overnight and drained
- 6 cups low-sodium chicken broth
- 1 tsp salt
- 1/4 cup fresh cilantro, roughly chopped
Nutritional Information
- Calories: 380 kcal
- Total Fat: 12g
- Saturated Fat: 4g
- Cholesterol: 20mg
- Sodium: 720mg
- Total Carbohydrates: 48g
- Dietary Fiber: 12g
- Sugars: 4g
- Protein: 22g
Directions
1. Render the Bacon and Toast the Chiles
Set a large Dutch oven or heavy-bottomed pot over medium heat. Add the bacon pieces and cook for 6–8 minutes, stirring occasionally, until the fat has rendered and the bacon is starting to crisp at the edges (don't drain the fat that fat is the whole point). Add the guajillo chiles to the pot and press them down into the bacon fat for 30 seconds per side until they soften and darken slightly and smell smoky and a little toasty. Remove the chiles, chop them finely, and set aside.
2. Build the Base
Add the diced onion to the pot and cook over medium heat for 5 minutes, stirring occasionally, until softened and translucent not browned, just soft. Add the garlic and jalapeño and cook another 2 minutes until fragrant (don't walk away here; garlic goes from perfect to burnt fast and burnt garlic is a tragedy). Stir in the cumin, chili powder, and the chopped chiles from step one. Cook 1 minute more to bloom the spices.
3. Add the Tomatoes and Beans
Pour in the diced tomatoes with their liquid and stir, scraping up any bits stuck to the bottom of the pot. Add the drained pinto beans and pour in the chicken broth the liquid should cover the beans by about an inch. Bring everything to a boil over medium-high heat, then immediately reduce to a low simmer. You want gentle, lazy bubbles, not a rolling boil.
4. Simmer Low and Slow
Cover the pot partially (lid slightly ajar) and simmer on low for 60–70 minutes, stirring every 20 minutes or so, until the beans are completely tender when pressed between two fingers and the broth has thickened slightly. If the liquid gets too low before the beans are done, add water 1/2 cup at a time. Add the 1 tsp salt in the last 20 minutes of cooking only earlier than that and the beans tighten up and stay firm no matter how long you simmer them.
5. Finish and Serve
Taste the broth and adjust salt if needed. Stir in the fresh cilantro right before serving so it stays bright. Ladle into bowls making sure everyone gets a good amount of broth along with the beans the broth is not a side effect, it's half the dish.