Pin There's something about the smell of ham and soffritas hitting a hot pot that makes you feel like you're cooking somewhere warm, even in the middle of winter. I discovered this soup by accident, really—my neighbor María knocked on my door with a steaming bowl and wouldn't leave until I promised to write down her family recipe. Twenty minutes later, I was stirring my own pot, and the kitchen smelled like Havana translated into steam and spice. It became the kind of soup I make whenever someone needs feeding, or when I need reminding that good food doesn't require fussing.
I made this for my sister's book club once, tripling the batch and serving it in mismatched bowls because I ran out of the good ones. Everyone went quiet for a moment after that first spoonful, and then someone asked for seconds before finishing their first bowl. That's when I knew I'd found something worth keeping.
Ingredients
- Ham, diced (2 cups): Use leftover ham from the holidays or grab a quality ham from the deli counter—this is where your soup gets its soul, so don't skip on flavor.
- Black beans (2 cans): Drain and rinse them well; this step removes the starchy liquid and keeps your soup from becoming gluey and dull.
- Yellow onion (1 large, diced): This is your base, your foundation—take your time dicing it evenly so it softens at the same rate as the peppers.
- Green bell pepper (1 large, diced): The sweetness balances the smokiness of the ham and adds a gentle vegetal note that ties everything together.
- Celery (2 stalks, diced): Often overlooked, but it's the quiet backbone of this soup—it adds a subtle earthiness that makes people wonder what that depth is.
- Garlic (3 cloves, minced): Fresh garlic is non-negotiable; jarred garlic will make your kitchen smell like a laboratory instead of someone's home.
- Carrot (1 large, optional): If you add this, you're adding a natural sweetness that plays beautifully with the lime at the finish.
- Jalapeño (1, optional): Seed it unless you want genuine heat; this is where you get to decide how bold your soup becomes.
- Diced tomatoes (1 can, 14 oz): Keep the juices—that's liquid gold that adds acidity and body to the broth.
- Tomato paste (2 tablespoons): This concentrate of umami and sweetness gets bloomed in oil and spices, which is when it stops being paste and becomes flavor.
- Chicken broth (6 cups): Low-sodium is better here because you'll be tasting and adjusting salt at the end, and homemade broth makes this soup sing if you have it.
- Ground cumin (2 teaspoons): Toast it in your mind before it hits the pot—that's the warm, slightly nutty heat you're after.
- Dried oregano (1 teaspoon): Cuban oregano if you can find it, but regular oregano works; it's the whisper of Mediterranean flavor in a Caribbean soup.
- Bay leaf (1): Remove it before serving unless you want someone biting down on an unexpected leaf—a lesson I learned the hard way at someone else's table.
- Smoked paprika (1 teaspoon): This is where the smoke comes from, not from the ham alone—it deepens everything without overwhelming.
- Black pepper (1/2 teaspoon): Fresh cracked, if you have a grinder; pre-ground works but tastes flatter.
- Salt: Taste as you go; the ham and broth already contribute saltiness, so you're balancing, not building.
- Lime juice (2 limes): Fresh squeezed, squeezed through your fingers to catch seeds, pressed right at the end—this is the final note that makes people say it's perfect.
- Fresh cilantro (1/2 cup, chopped): Roughly chop it right before serving or it'll bruise and turn dark; this herb is about brightness, not resignation.
Instructions
- Build your soffritas base:
- Heat a large pot over medium heat with a splash of oil, then add your diced onion, bell pepper, celery, carrot, and jalapeño. Let them soften for 6 to 8 minutes, stirring every couple of minutes—you're not browning them, just coaxing out their sweetness and creating a foundation for everything else.
- Wake up the garlic:
- Once the vegetables are soft and the kitchen smells like a kitchen should, add your minced garlic and cook for just one minute until it stops smelling raw. This brief moment of cooking removes the harsh bite and opens up garlic's sweeter side.
- Introduce the ham:
- Stir in your diced ham and let it warm through for about three minutes—you're not trying to crisp it, just integrate it into the flavor base so it stops being separate and starts being part of the story.
- Bloom the spices:
- This is the important part that nobody talks about but everyone tastes: stir in your cumin, oregano, smoked paprika, and tomato paste and cook it all together for 1 to 2 minutes. The heat opens up these dried flavors and the tomato paste caramelizes just slightly, which is the difference between a soup that tastes like a list of ingredients and one that tastes like something someone made.
- Build the broth:
- Add your drained black beans, the diced tomatoes with their juices, the bay leaf, and all your chicken broth. Stir it together, bring it to a boil, then drop the heat down and let it simmer uncovered for 45 to 60 minutes, stirring occasionally—this time is when the flavors stop introducing themselves and start having a conversation with each other.
- Optional creaminess:
- If you want a heartier texture, use an immersion blender to puree about a third of the soup right in the pot, or carefully transfer 2 cups to a blender, puree it smooth, and stir it back in. This optional step gives you a soup that's thicker and feels more luxurious without losing its character.
- Finish with brightness:
- Fish out that bay leaf, squeeze in your fresh lime juice, and stir in your chopped cilantro right before serving. Taste it and adjust the salt if it needs it—this is your moment to make it yours.
- Serve with love:
- Ladle it hot into bowls and set out lime wedges and extra cilantro on the side so people can adjust the brightness to their preference. This is a soup that improves with a squeeze of lime and a handful of herb.
Pin
My father ate this soup silently one afternoon, bowl after bowl, and when I asked him how it was he just said it tasted like he remembered something good. I never pressed him on what that something was—sometimes soup does more work than words.
How to Make It Your Own
This recipe is forgiving, which is part of why it's so good to cook repeatedly. If you don't have fresh cilantro one day, a handful of parsley changes nothing essential—the lime is still there to do the work. If you want it spicier, a pinch of cayenne or a splash of hot sauce stirred in at the end won't wreck anything; it'll just make it louder. The soup also freezes beautifully, so you can make a big batch and tuck portions away for days when cooking feels like too much.
Variations That Work
For a vegetarian version, simply omit the ham and use vegetable broth instead—add a splash of soy sauce or tamari to compensate for the umami the ham provided, and consider throwing in a diced sweet potato for body and richness. If you have a ham bone or smoked ham hock on hand, throw that in during the simmering and you'll build layers of smoke that make this soup feel like it's been cooking all day. Some people stir in a can of coconut milk at the very end for richness, which sounds odd but creates something between a soup and a chowder that people remember.
Serving Suggestions and Final Thoughts
Serve this with crusty bread for soaking, or alongside rice so people can build the soup how they want it. Fried plantains on the side, if you're feeling generous, or just offer lime wedges and hot sauce and let people make it their own. This is the kind of soup that turns a regular Tuesday into something worth remembering.
- Make extra because it reheats without losing anything and tastes even better the next day when flavors have had time to know each other better.
- If it seems too thick after sitting overnight, thin it with a splash of broth or water and taste it again—soup is forgiving that way.
- Freeze it in portions and you'll have future-you to thank on those nights when cooking feels impossible.
Pin This soup is old enough to be rooted in memory but simple enough that you can make it whenever you need something warm and true. Make it, and someone will remember it.
Recipe Questions & Answers
- → Can I make this dish vegetarian?
Yes, simply omit the ham and use vegetable broth to keep the flavors balanced and hearty.
- → How can I add smoky depth without ham?
Consider adding smoked paprika and a smoked ham hock during cooking for a rich, smoky flavor, then remove the hock before serving.
- → What is the best way to thicken the soup?
Partially blending the soup with an immersion blender or in batches in a regular blender creates a creamier, thicker texture.
- → Can I freeze leftovers?
Yes, this dish freezes well. Cool completely before freezing and reheat gently to preserve texture and flavor.
- → How spicy is this dish by default?
The heat level is mild by default, but adding jalapeño or a pinch of cayenne pepper will increase the spiciness to your liking.
- → What sides complement this dish best?
Serve with crusty bread, rice, or fried plantains to add texture and round out the meal.