Frijoles Charros (Mexican Pinto Beans With Bacon and Chiles) Recipe

An ideal potluck dish that's easy to make in bulk, inexpensive, and holds up to extended heating and reheating.

Two bowls and a pot of frijoles charros, on a stone background.

Serious Eats / Diana Chistruga

Why This Recipe Works

  • Using bacon and charred tomatoes give the dish a smoky flavor without a campfire.
  • Soaking pinto beans overnight ensures a creamy texture and beans that don't fall apart.

Do side dishes at potlucks and cookouts give you trouble? The problem is, with large, informal gatherings, it's hard to gauge how long a dish will have to be held before it's served. The results are something we're all familiar with: mushy, congealed mac and cheese, crusted-over dips, soggy fried chicken, and worse. The ideal potluck or cookout dish is one that is easy to make in bulk, inexpensive, and doesn't degrade with extended heating or reheating.

I nominate frijoles charros—Mexican cowboy beans cooked with onions, garlic, tomatoes, salted pork, and chiles—as the superlative potluck dish. It meets the criteria and it's extremely delicious.

What Are Frijoles Charros?

Like Texas-style chile con carne, frijoles charros (or frijoles rancheros, depending on who's talking) is a dish created by cowboys, for cowboys. As such, it's filling, hearty, and easy, requiring only one pot, some inexpensive ingredients, and a little time.

These aren't the spoonable refried beans you find at typical hot-plate Mexican restaurants. Frijoles charros are wetter, straddling the line between soup and stew. Often they're wet enough to be served in a bowl with a spoon. At the cute little Mexican fonda around the corner from my house, meals start with a small cup of soup that's nothing more than the rich liquid strained from the pot of frijoles charros. The beans themselves are served separately in shallow saucers with the main course, and even after straining, they're plenty soupy.

Camp Cooking

Spice and smoke are the key flavors here. The spice comes from fresh chiles (I use jalapeños or serranos) and there are a couple ways to achieve the requisite smokiness. Depending on your situation, the first might be the easiest: Cook them over a campfire. I'm serious about that—frijoles charros make an excellent camping dish because, after all, that's why it was invented in the first place. Dried beans are lightweight; onions, garlic, chiles, and fresh or tinned tomatoes last a long time at room temperature, as does a good hunk of salted pork. All you need are hot embers, a nice cast iron Dutch oven, and time. Keep the lid ever-so-slightly cracked as the beans cook and they'll get plenty smoky in the process.

Smoking Indoors

If you're making the dish indoors, you have other options for smoke. Most recipes call for bacon and not much else. Some include canned fire-roasted tomatoes. Both of these options work great. But for better flavor, I like to start with whole tomatoes and char them myself.

Charring three roma tomatoes in a skillet with a culinary blow torch

It's a really simple process. Place ripe Roma tomatoes directly over the flame of a gas burner or on top of a hot grill, and use a pair of tongs to rotate them until their skins have blackened and started to peel away. If you have a handheld torch, it's even easier—place the tomatoes in a pan and torch away, turning them until they're blistered all over. (Folks without live fire in their kitchens have it a little tougher— just use canned fire-roasted tomatoes in those cases.)

Making the Base

To start the dish, sauté bacon in a Dutch oven until its fat has rendered, then add onions and chiles, cooking until softened. Add a few cloves of minced garlic—adding it after cooking the onions and peppers ensures the burn-prone garlic doesn't brown too much—and the tomatoes. Once that aromatic base has reduced a little, add beans, cooking liquid (I use chicken stock, though water works fine), along with a big pinch of salt (contrary to popular belief, salt will not cause beans to toughen as they cook) a couple of bay leaves, and a sprig of epazote.

The Case for Soaking Your Beans

I tried cooking the beans a number of ways. Some beans (like black beans) don't require soaking, but unless your pintos are destined to be mashed into refried beans, I recommend soaking, which allows them to cook up tender and creamy without blowing out or falling apart. If you're in a hurry, using canned beans works surprisingly well in this recipe—drain and rinse them, cut back on the total liquid by half, and make sure to simmer with the aromatic ingredients long enough for them to absorb some flavor.

But the best way to do it is to soak dried beans overnight in salted water before simmering the next day. Soaked pinto beans take only about 45 minutes to get to a completely soft, creamy consistency.

There's not really much more to it. Once the beans are done, adjust the consistency to suit your taste. If you like things soupy—think broth with fully intact beans-season and serve as is (with a sprinkle of chopped cilantro). If you like it more stew-like, use an immersion blender to mash up some of the beans. Personally, I prefer to simmer until the starch released by the beans thickens up the broth to a creamy consistency and the flavor is intensified. Whatever method you use, make sure to season the beans to taste just before serving.

If you're ever feeling down about yourself, here's a guaranteed cure: Get yourself invited to a potluck, bring these beans, and wait for the compliments and appreciation to start rolling in.

A white dutch oven and two white ceramic bowls, all filled with cooked beans, on a white stone background.

Serious Eats / Diana Chistruga

June 2016

After additional testing, this recipe was updated with instructions to cook the beans separately until soft, cook the bacon and tomatoes in a separate skillet, then combine the bacon-tomato mixture with the beans.

Recipe Details

Frijoles Charros (Mexican Pinto Beans With Bacon and Chiles) Recipe

Prep 0 mins
Cook 65 mins
Active 20 mins
Soaking Time 8 hrs
Total 9 hrs 5 mins
Serves 8 to 12 servings

An ideal potluck dish that's easy to make in bulk, inexpensive, and holds up to extended heating and reheating.


  • 1 pound (450g) dried pinto beans

  • Kosher salt

  • 6 cups (1.4L) homemade or store-bought low-sodium chicken stock

  • 2 bay leaves

  • 2 sprigs epazote (optional; see notes)

  • 12 ounces (340g) diced bacon (see notes)

  • 1 medium white or yellow onion, diced (about 8 ounces; 225g)

  • 2 serrano chiles or 1 jalapeño, minced (remove seeds and ribs if you prefer less heat)

  • 3 medium cloves garlic, minced (about 1 tablespoon; 12g)

  • 2 (14-ounce; 400g) cans diced fire-roasted tomatoes (see notes)

  • Large handful chopped fresh cilantro leaves and fine stems


  1. Place beans in a large bowl and fill with enough cold water to cover by at least four inches. Add 2 tablespoons (18g) kosher salt and stir to dissolve. Let soak 8 to 12 hours. Drain and rinse.

    Pinto beans soaking in water in a white bowl.

    Serious Eats / Diana Chistruga

  2. In a large Dutch oven, add beans, stock, bay leaves, 2 teaspoons (6g) kosher salt, and epazote (if using). Bring to a boil over high heat, reduce to a bare simmer, cover, and cook until beans are just tender, about 45 minutes.

    A two-image collage. The left image shows the beans in a dutch oven along with bay leaves and other ingredients, while the right image shows the pot now at a simmer.

    Serious Eats / Diana Chistruga

  3. Meanwhile, heat bacon in a 12-inch stainless steel or cast iron skillet over medium-high heat. Cook, stirring constantly, until fat is rendered and bacon is just starting to brown around the edges, about 5 minutes. Add onion and chiles and cook, stirring, until softened and just starting to brown, about 4 minutes. Add garlic and cook, stirring, until fragrant, about 30 seconds. Add tomatoes (see note) and cook, stirring and scraping up browned bits from the bottom of the pan, until the liquid is thick and the mixture begins to sizzle, about 3 minutes.

    A collage showing the bacon, onions, garlic, and tomatoes being cooked down into a thick paste.

    Serious Eats / Diana Chistruga

  4. Remove lid from Dutch oven, add bacon-tomato mixture, and continue cooking, stirring occasionally, until beans are completely creamy and liquid has thickened into a rich, creamy broth, about 20 minutes. Season to taste with salt. Discard bay leaves, stir in cilantro, and serve. Beans can be stored in the refrigerator for up to 1 week.

    A collage showing the final cooking stages, in which the beans are added and the broth is reduced to being thick and creamy.

    Serious Eats / Diana Chistruga


In place of the canned fire-roasted tomatoes, you can use 1 1/2 pounds fresh Roma tomatoes. Char the tomatoes directly over a gas flame, on a grill, or with a torch to remove the skins. Split into quarters and cut out and discard the cores. Dice and use as directed in the recipe.

Epazote is a Mexican herb that can be found in Mexican specialty shops. If fresh epazote is unavailable, use a large pinch of dried in its place, or omit.

This recipe is great over a campfire. If cooking over a live fire, you can use salt pork in place of the bacon for a more naturally smoky flavor.

Nutrition Facts (per serving)
287 Calories
12g Fat
29g Carbs
15g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 8 to 12
Amount per serving
Calories 287
% Daily Value*
Total Fat 12g 16%
Saturated Fat 4g 20%
Cholesterol 26mg 9%
Sodium 525mg 23%
Total Carbohydrate 29g 11%
Dietary Fiber 8g 27%
Total Sugars 4g
Protein 15g
Vitamin C 13mg 65%
Calcium 80mg 6%
Iron 3mg 15%
Potassium 792mg 17%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)