
Frijoles charros, or “cowboy beans,” is a beloved Mexican dish that transforms simple pinto beans into something absolutely extraordinary. This rustic recipe hails from Northern Mexico and is traditionally prepared in large batches for family gatherings and celebrations. The beauty of frijoles charros lies in its simplicity—a humble combination of beans, bacon, jalapeños, tomatoes, and onions that creates a depth of flavor that belies the minimal ingredient list.
What makes this dish so special is how the smoky bacon fat infuses every bean, while the charred jalapeños add a subtle heat and complexity. This isn’t a refined, delicate dish; it’s bold, hearty, and unapologetically flavorful. Whether you’re serving it as a side dish at a casual weeknight dinner or bringing it to a potluck, frijoles charros never fails to impress.
The traditional method involves slow-cooking the beans with these flavorful additions, allowing everything to meld together beautifully. Some families add chorizo for extra richness, while others prefer to keep it simple with just bacon. I’ve found that the key to the best frijoles charros is using quality ingredients and not rushing the cooking process. The longer these beans simmer, the more the flavors develop and intensify.
This recipe is incredibly versatile and can be made in a traditional stovetop pot, a slow cooker, or even an Instant Pot if you’re short on time. I love serving frijoles charros alongside grilled meats, with warm tortillas for scooping, or even as a hearty vegetarian main when paired with rice and fresh toppings. You can also enjoy them the next day—they actually taste even better as the leftovers sit in the refrigerator and the flavors continue to meld together.
One of the best things about this recipe is that it’s so forgiving. You can adjust the heat level to your preference, add extra vegetables, or even incorporate your favorite beans. Mexican bean recipes like this one are staples in my kitchen, and I find myself making frijoles charros at least twice a month. Once you master this recipe, you’ll understand why it’s such a treasured classic in Mexican cuisine.
Ingredients
- 1 pound dried pinto beans, rinsed and sorted
- 8 cups chicken or vegetable broth
- 6 slices bacon, chopped
- 1 large yellow onion, diced
- 4 jalapeños, sliced (seeds removed for less heat)
- 3 cloves garlic, minced
- 1 can (14.5 oz) diced tomatoes with green chiles
- 1 teaspoon ground cumin
- 1 teaspoon smoked paprika
- ½ teaspoon dried oregano
- Salt and freshly ground black pepper to taste
- 2 tablespoons fresh cilantro, chopped (optional)
- Lime wedges for serving
- Warm flour or corn tortillas for serving

Instructions
- Rinse the dried pinto beans under cold water and remove any debris or discolored beans. This step is crucial for preventing any unwanted surprises when you bite into your frijoles charros.
- In a large heavy-bottomed pot or Dutch oven, cook the chopped bacon over medium heat until it’s crispy and golden, about 8-10 minutes. Transfer the cooked bacon to a paper towel-lined plate, leaving about 3 tablespoons of bacon fat in the pot.
- Add the diced onion to the bacon fat and sauté over medium heat for 5-7 minutes, stirring occasionally, until the onion becomes translucent and fragrant.
- Stir in the minced garlic and sliced jalapeños, cooking for another 2 minutes until the garlic becomes fragrant. Be careful not to burn the garlic, as this will create a bitter flavor.
- Add the rinsed pinto beans to the pot and stir well, coating them in the bacon fat and aromatics for about 2-3 minutes.
- Pour in the chicken or vegetable broth, making sure the beans are covered by at least 2 inches of liquid. Bring to a gentle boil over medium-high heat.
- Once boiling, reduce the heat to low, add the ground cumin, smoked paprika, and dried oregano, and stir to combine. Partially cover the pot with a lid, leaving it slightly ajar to allow steam to escape.
- Simmer the beans for 1 hour to 1 hour and 30 minutes, stirring occasionally. The beans should be tender but not falling apart. Add more broth if needed to maintain the cooking liquid.
- When the beans are almost tender, stir in the can of diced tomatoes with green chiles and the reserved cooked bacon. Cook for another 15-20 minutes until the flavors have melded together.
- Taste and season generously with salt and freshly ground black pepper. Remember that the broth should be slightly brothy—these aren’t supposed to be dry beans.
- Remove from heat and let the frijoles charros rest for 5 minutes before serving. Garnish with fresh cilantro if desired and serve with lime wedges and warm tortillas.

Pro Tips
- This recipe works beautifully in a slow cooker: prepare the bacon, onion, garlic, and jalapeños as directed, then add everything to a slow cooker along with the beans and broth. Cook on low for 6-8 hours or high for 3-4 hours, adding the tomatoes and bacon in the last 30 minutes of cooking.
- For an Instant Pot version, use the sauté function to cook the bacon and aromatics, then add the beans and broth. Cook on high pressure for 45 minutes, then quick release. Add the tomatoes and bacon, and allow to simmer using the sauté function for 10 more minutes.
- Make this recipe vegetarian by omitting the bacon and using vegetable broth instead. You can add smoked paprika and a bit of liquid smoke to replicate the smoky flavor the bacon provides.
- Some regional variations include adding chorizo for extra richness, or including beer (typically a Mexican lager) for added depth.
- These beans freeze beautifully for up to 3 months. Store in airtight containers or freezer bags, leaving a bit of room for expansion. Thaw overnight in the refrigerator before reheating.
- Leftover frijoles charros can be mashed and fried to make refried beans, or served cold as a salad with additional fresh vegetables and a lime vinaigrette.
- If you prefer spicier beans, leave the seeds in the jalapeños or add additional hot peppers such as serranos. You can also add a pinch of cayenne pepper.
- The longer these beans sit, the better they taste as the flavors continue to develop. I actually recommend making them a day ahead if possible.
- Serve these with a squeeze of fresh lime juice, which brightens all the flavors beautifully. The acidity cuts through the richness of the bacon fat perfectly.
