Save to Pinterest There's something about a pot of ham and pinto bean soup simmering on the stove that makes a kitchen feel instantly warmer, even on days when everything else feels rushed. My neighbor brought over a thermos of this soup years ago when we were moving into our first house, and the smell alone made us pause mid-box to sit down and eat. It was golden, deeply savory, and so generous with the ham that you'd find pieces in almost every spoonful—the kind of dish that tastes like someone actually cared about feeding you well. Since then, I've made it countless times, tweaking it slightly with extra jalapeño when I'm feeling bold or keeping it mild for the kids. It's become the soup I reach for when I want something that feels both comforting and a little bit special.
I made this for my book club once, and it was the quietest anyone had ever been during our meeting—everyone was too busy eating to talk much. One woman asked for the recipe before she even finished her bowl, and now she tells me it's in her regular rotation. That's when you know a recipe has stuck: when someone you barely know decides it's worth making again and again.
Ingredients
- Cooked ham, diced (2 cups): This is what gives the soup its backbone—use good quality ham if you can, because it really shines here. I sometimes buy ham steaks and dice them myself rather than using deli ham, which can get a bit salty.
- Dried pinto beans or canned (2 cups dried or 3 cans): Dried beans need overnight soaking, but the texture is worth it; canned beans are a legitimate shortcut for nights when you need soup faster.
- Yellow onion, large (1): Sweet and mellow once cooked, it's the foundation that makes everything else taste better.
- Carrots, medium (2): They soften into the broth and add natural sweetness that balances the spices.
- Celery stalks (2): This classic trio of onion, carrot, and celery creates an aromatic base that feels almost automatic to reach for.
- Red bell pepper, large (1): The color is beautiful, and it brings a slight sweetness that complements the ham perfectly.
- Garlic, minced (2 cloves): Don't skip this—it wakes up every other flavor in the pot.
- Jalapeño, seeded and chopped (1, optional): I always include it, even though I seed it to keep the heat gentle.
- Canned diced tomatoes (1 can, 14.5 oz): These add a little acid and brightness that cuts through the richness of the ham and beans.
- Low-sodium chicken broth (6 cups): The sodium control matters here because the ham brings its own saltiness.
- Water (1 cup): It dilutes the broth just enough so the beans can really absorb the flavors.
- Ground cumin (1.5 teaspoons): This is the spice that makes it Tex-Mex—earthy and warm, it's essential.
- Smoked paprika (1 teaspoon): It adds depth and a hint of smokiness that echoes the ham itself.
- Dried oregano (1 teaspoon): I prefer dried here because fresh would lose its character during the long simmer.
- Chili powder (0.5 teaspoon): Just enough to add complexity without making it spicy.
- Ground black pepper (0.5 teaspoon): Fresh cracked is better if you have it.
- Salt, to taste: Add it gradually because the ham and broth are already contributing sodium.
- Fresh cilantro, lime wedges, diced avocado, shredded cheddar (optional garnishes): These are how people personalize their bowls and make the soup feel fresh at the end.
Instructions
- Prepare your beans (if using dried):
- Rinse them under cold water, then cover completely with fresh water and let them sit overnight—they'll swell and cook more evenly. In the morning, drain and rinse again before using.
- Start with the aromatic base:
- Pour a little oil into your large pot over medium heat, then add the diced onion, carrots, celery, and bell pepper all at once. Let them sit and soften for about 5 to 7 minutes, stirring occasionally so they cook evenly without browning too much.
- Build the flavor:
- Once the vegetables are starting to collapse a little, add the minced garlic and jalapeño and stir constantly for just about 1 minute—you want to smell that garlicky fragrance but not let it burn.
- Bring everything together:
- Add the diced ham, your prepared beans, the canned tomatoes with their juice, the chicken broth, water, and all the spices. Stir everything well so the spices distribute evenly and nothing gets stuck to the bottom.
- The long, gentle simmer:
- Bring the whole pot up to a boil first, then immediately lower the heat to low and cover it partially. Let it bubble gently for 1 to 1.5 hours, stirring now and then—the beans should be completely tender and the broth should taste deeply savory and cohesive.
- Taste and adjust:
- Before serving, taste a spoonful and add more salt or spice if it needs it—soups are very forgiving about this last-minute correction.
- Serve with generosity:
- Ladle the soup into bowls and let people add their own toppings: cilantro, lime wedges, avocado, or sharp cheddar cheese all work beautifully.
Save to Pinterest My daughter came home from school one rainy afternoon, hung her wet coat on the back of a chair, and asked if we could make this soup together. We spent the afternoon chopping vegetables while she told me about her day, and by the time we sat down to eat, the whole house smelled like cumin and ham, and she was already asking when we could make it again. That's when I realized this soup had become one of our things.
Dried Beans Versus Canned: What's the Real Difference
Dried beans take longer and require planning ahead, but the texture is firmer and they absorb the broth flavors more completely—they feel substantial in a way that matters. Canned beans are genuinely convenient and will make a delicious soup in half the time, though the beans themselves are already softer and less able to hold their shape during the simmer. I'm not a snob about it; I use canned beans maybe half the time, especially on weeknights when I haven't thought ahead. What matters more is that you drain and rinse them well so you're not adding extra sodium to the pot.
Why the Spices Work Together
Each spice in this recipe has a job that becomes clear once you taste them layered together. The cumin is the main character—warm, earthy, familiar—while the smoked paprika adds depth and a subtle whisper of smoke that echoes the ham. The oregano brings a dried-herb earthiness that makes you feel like you're eating something intentional, and the chili powder is there just to add complexity without heat. If you've ever made a pot of soup that tasted flat no matter what you did, this spice blend is what saves you.
Serving and Storage Wisdom
This soup keeps beautifully for 4 or 5 days in the refrigerator, and it actually tastes better the next day once the flavors have had time to settle and deepen. You can also freeze it in portions for up to 3 months, though I find the bean texture changes slightly after freezing—still delicious, just a touch softer.
- Serve it with warm cornbread or tortilla chips on the side for something crunchy to contrast the soft, creamy beans.
- Don't add the garnishes until just before serving so they stay fresh and distinct rather than wilting into the broth.
- A squeeze of lime over the whole bowl at the end brightens everything and reminds you that this is actually a Tex-Mex dish.
Save to Pinterest This is the kind of soup that feels both homey and a little bit special, the kind that makes people slow down and actually taste what's in front of them. Once you've made it once, you'll find yourself coming back to it again and again.
Recipe FAQs
- → Can I use canned pinto beans instead of dried?
Yes, canned pinto beans can be used as a convenient alternative; just drain and rinse before adding to the pot.
- → How long should the soup simmer for best flavor?
Simmer the soup for 1 to 1 1/2 hours, or until the beans are tender and the flavors have melded well.
- → What garnishes complement this soup well?
Fresh cilantro, lime wedges, diced avocado, and shredded cheddar cheese add bright and creamy contrasts.
- → Is there a way to make the soup texture smoother?
Partially blending the soup using an immersion blender creates a thicker, creamier texture while retaining some chunks.
- → Can I substitute the ham with a different protein?
Smoked turkey or chorizo make excellent substitutions, adding unique smoky or spicy notes to the dish.
- → What sides pair nicely with this soup?
Warm cornbread or tortilla chips are traditional accompaniments that enhance the experience.