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

Why It Works

  • Using bacon and charred tomatoes gives the dish smoky flavor even 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 ever give you trouble? They're trouble for me. The ideal potluck or cookout dish is one that is easy to make in bulk and 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 chilies—as one superlative potluck dish. It not only hits all of those criteria but also adds on "extremely delicious" for good measure.

Recipe Facts



Active: 20 mins
Total: 9 hrs
Serves: 8 to 12 servings

Rate & Comment


  • 1 pound (450g) dried pinto beans
  • Kosher salt
  • 12 ounces (340g) diced bacon (see note)
  • 1 medium white or yellow onion, diced (about 8 ounces; 225g)
  • 2 serrano chilies 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 note)
  • 6 cups (1.4L) homemade or store-bought low-sodium chicken stock
  • 2 bay leaves
  • 2 sprigs epazote (optional; see note)
  • Large handful chopped fresh cilantro leaves and fine stems


  1. Place beans in a large bowl and cover with water by double. Add 2 tablespoons (30g) kosher salt and stir to dissolve. Let soak 8 to 12 hours. Drain and rinse.

  2. Heat bacon in a large Dutch oven over medium-high heat, stirring constantly, until fat is rendered and bacon is just starting to brown around the edges, about 5 minutes. Add onion and chilies 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.

  3. Add beans, stock, bay leaves, 2 teaspoons (10g) 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. Remove lid and continue cooking, stirring occasionally, until beans are completely creamy and liquid has thickened into a rich, creamy broth. 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.


In place of the canned fire-roasted tomatoes, you can also 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.

This Recipe Appears In