Delicious and easy Mexican charro beans are pinto beans simmered with bacon, ham, onions, garlic, and tomatoes, with the perfect balance of spicy and smokey seasonings. For folks who love a lot of flavors, this is your dish.

This is one of our favorite dishes. There is no presoaking the beans, and leftovers heat up like a dream. It freezes well and tastes as good as the day you made it. I like to serve it with a hunk of cornbread or a few warmed tortillas. Or over Mexican rice or Charleston red rice.
Ingredient Notes and Substitutions
See the complete list of ingredients below on the recipe card.
- Pinto beans: I start with dried Pinto beans, but in a pinch, you can use drained and rinsed, canned pinto beans and start with step #3.
- Smoked ham: You can substitute smoked sausage or chorizo.
- Jalapeno: I like to add a little minced jalapeno, which adds flavor with subtle heat. If you think it will be too much for your taste buds, omit it.
- Tomatoes: I use meaty tomatoes like Roma tomatoes.
- Chipotle peppers: They are packed in small cans with adobo sauce. They can be found in the Hispanic food section of most grocery stores. One chopped chipotle pepper with a little bit of the adobo sauce can take your Mexican and southwestern recipes over the top. Store the remaining chipotle peppers in adobo sauce in an airtight container in the refrigerator for up to a month or freeze them for up to 3 months.
- Smoked paprika: not to be confused with sweet paprika
How to Make Charro Beans
This is the summary version; for the complete list of ingredients and instructions, see the recipe card below.
Rinse the beans and sort through them, removing any pebbles. Add the beans, onion, garlic, bay leaves, salt, and water to a large pot or Dutch oven. Bring the beans to a boil over medium-high heat. Reduce the heat, cover, and simmer for 1 1/2 to 2 hours or until tender. Fish out and discard the onion, garlic, and bay leaves. Drain the beans in a colander, reserving all the liquid.
Wipe the Dutch oven clean, add the bacon, and cook over medium heat until it is about halfway browned, stirring frequently. Then, add the ham and chopped onion and continue cooking until the bacon is brown and the onion is soft. Remove any excess bacon grease (or most of it). Reduce the heat to low and add the jalapeno pepper, garlic, tomatoes, chipotle pepper, marjoram, cumin, and smoked paprika. Cook for a couple of minutes while stirring.
Add the cooked beans and 4 cups of the bean liquid to the pot. Simmer for 15-20 minutes for all the flavors to meld together. Season with salt and freshly ground black pepper to taste. Garnish with cilantro when ready to serve.
Preparation Tips for Success
- I do not soak the beans, but you certainly can if you want to speed up the process. The night before, you cook the charro beans, rinse the beans, and sort through them, removing any pebbles. Add the beans to a large pot, cover them by 2 inches with cold water, cover the pot with the lid, and soak overnight in the refrigerator. Drain the beans in a colander in the sink and rinse. This will reduce the amount of simmering time by at least an hour in step #1.
- You can also use canned beans instead. Use 3 (15-ounce) cans of beans, drained and rinsed, and 4 cups of chicken broth or vegetable broth to replace the bean liquid. Skip to step 3, where you brown the bacon and cook the onions.
- These beans are close to the consistency of soup. If you want to thicken them, add a cornstarch slurry during the boiling process. To make a cornstarch slurry for this dish, mix 2 tablespoons of cornstarch with 1/4 cup of cool water.
- This recipe can be prepared up to 2 days in advance, covered, and stored in the fridge. Reheat on the stovetop over low heat.
Serving Suggestions
I like to serve these beans with corn muffins, cheddar beer bread, or sweet potato cornbread. For more texture and vegetables, serve Mexican coleslaw, avocado salad, or cowboy caviar. For a cool and refreshing beverage, try peach iced tea or blueberry lemonade.
More Bean Recipes
Charro Beans
Ingredients
Dried Beans
- ¾ lb dried pinto beans
- ½ yellow onion
- 2 cloves garlic
- 2 bay leaves
- 1 teaspoon salt
- 6 cups cold water
Charro Beans
- 6 slices uncooked bacon chopped
- 1½ cup smoked ham diced
- ½ yellow onion chopped
- 1 medium jalapeno pepper, seeded and minced
- 3 cloves garlic minced
- 2-3 roma tomatoes diced
- 1 chipotle pepper in adobo sauce, minced
- ½ teaspoon dried marjoram
- ½ teaspoon ground cumin
- ½ teaspoon smoked paprika
- salt to taste
- freshly ground black pepper to taste
- ¼ cup chopped fresh cilantro
Instructions
- Rinse the beans and sort through them, removing any pebbles. Add the beans, onion, garlic, bay leaves, salt, and water to a large pot or Dutch oven. Bring the beans to a boil over medium-high heat. Reduce the heat, cover, and simmer for 1 1/2 to 2 hours or until tender.
- Fish out and discard the onion, garlic, and bay leaves. Drain the beans in a colander, reserving all the liquid to a pot below the colander.
- Wipe the Dutch oven clean, add the bacon, and cook over medium heat until it is about halfway browned, stirring frequently. Add the ham and chopped onion and continue cooking until the bacon is brown and the onion is soft.
- Remove all but 1-2 teaspoons of bacon grease. Reduce the heat to low and add jalapeno pepper, garlic, tomatoes, chipotle pepper, marjoram, cumin, and smoked paprika. Cook for 2 minutes while stirring.
- Add the cooked beans and 4 cups of the bean liquid to the pot. Simmer for 15-20 minutes for the all flavors to meld together. Season with salt and freshly ground black pepper to taste.
- Garnish with cilantro when ready to serve.
Notes
- I do not soak the beans, but you certainly can if you want to speed up the process. The night before, you cook the charro beans, rinse the beans, and sort through them, removing any pebbles. Add the beans to a large pot, cover them by 2 inches with cold water, cover the pot with the lid, and soak overnight in the refrigerator. Drain the beans in a colander in the sink and rinse. This will reduce the amount of simmering time by at least an hour in step #1.
- You can also use canned beans instead. Use 3 (15-ounce) cans of beans, drained and rinsed, and 4 cups of chicken broth or vegetable broth to replace the bean liquid. Skip to step 3, where you brown the bacon and cook the onions.
- These beans are close to the consistency of soup. If you want to thicken them, add a cornstarch slurry during the boiling process. To make a cornstarch slurry for this dish, mix 2 tablespoons of cornstarch with 1/4 cup of cool water.
- This recipe can be prepared up to 2 days in advance, covered, and stored in the fridge. Reheat on the stovetop over low heat.
Lisa
Great recipe! I am so happy that I tried these. They are easy and tasty and we loved them!
Rosey
I so glad that I did not have to soak the beans. I always forget to do that the night before. Delicious with lots of flavor. I really enjoyed it and it is nice to have something a little different.
Beth Pierce
I understand, Rosey! I always forget to soak them too!
Sage
I love how hearty and flavorful this was with the bacon, onions, tomatoes and spices. It’s real comfort food that goes great with grilled meats or just some warm tortillas on the side. Thanks for the new recipe. I am always looking for new and flavorful recipes.
Victoria Prasad
I am quite excited to give this a try!! I loved the serving suggestions. I think my top pick would be the sweet potato cornbread.
Beth Pierce
Thanks, Victoria! Good choice!
Angela
These charro beans turned out amazing! They were easy to prepare and the entire family loved them…YUM!!!
Beth Pierce
That is awesome! So glad that you liked them!
Maria
These are so delicous. It’s a full meal in one pot!
Beth Pierce
Thanks, Maria! I am so happy that you liked them!