Heart Soup Recipe: Velvety Tomato and Beef Base with Hidden Greens

Soups & Stews

Heart Soup Recipe: Velvety Tomato and Beef Base with Hidden Greens

This heart soup recipe transforms humble ingredients into a deeply comforting dish with rich tomato-beef broth and tender beef heart, a staple in Eastern European and Latin American kitchens.

The secret lies in slow simmering the heart until it becomes fork-tender while building layers of umami through caramelized onions and garlic. I developed this version after years of testing—balancing meaty depth with subtle greens that disappear into the broth without overpowering its velvety texture.

The preparation begins with thorough cleaning and parboiling of the heart, a step that removes impurities and ensures tender results. A robust tomato base forms the foundation, while beef broth adds depth, and hidden spinach or escarole wilt into the soup, contributing nutrients without altering its rich flavor.

This method delivers a soup that's hearty enough for a cold evening but refined enough for company.

What you'll achieve is a velvety, aromatic soup where beef heart shines alongside tender vegetables, all suspended in a tomato-beef broth that's both comforting and sophisticated. The hidden greens add subtle earthiness, while the caramelized onions and garlic create a complex, savory backbone.

Perfect for family dinners or special occasions, this soup proves that traditional recipes can be both nourishing and elegant.

Serve with crusty bread to soak up every last drop of the rich broth, or pair with a simple green salad for balance. The leftovers reheat beautifully, making it an ideal meal prep option for busy weeks. Here's how to create this classic dish from scratch, step by step.

👨‍🍳
Difficulty
Medium
🥩
Category
Meat
🔥
Calories
Med Cal

Ingredients for heart soup

Sixteen ingredients transform into a velvety, umami-rich heart soup with hidden greens.

Ingredient Amount Notes
Beef Heart 🥩 1 ½ lb Fresh, cleaned and trimmed
Yellow Onions 🧅 2 whole Medium-sized, thinly sliced
Garlic Cloves 🧄 6 cloves Peeled, minced finely
Tomato Paste 🍅 ½ cup High-quality, unsweetened
Canned San Marzano Tomatoes 🍅 2 cans 28 oz each, crushed
Beef Broth 💧 4 cups Homemade or quality store-bought
Fresh Spinach 🌿 4 cups Chopped, loosely packed
Carrots 🥕 2 whole Medium, peeled and sliced
Celery Stalks 🥬 3 whole Trimmed, chopped
Olive Oil 🫒 ¼ cup Extra-virgin, for caramelizing
Bay Leaves 🌿 2 whole Dried, standard size
Salt 🧂 1 ½ tsp Kosher or sea salt
Black Pepper 🌶️ ½ tsp Freshly ground preferred
Crusty Bread 🍞 8 slices For serving, optional

The beef heart is the star—look for fresh, clean cuts from a trusted butcher or high-quality grocery store like Whole Foods or Trader Joe's. The heart should be bright red with no grayish areas. For the vegetables, organic carrots and celery from the store's produce section have fewer pesticides, but conventional works fine. The San Marzano tomatoes are worth the splurge—their sweetness and acidity balance the richness of the heart perfectly. If you can't find them, any high-quality crushed tomatoes will do, but avoid the watery brands.

No beef heart? Substitute beef short ribs at 2 lbs, but increase simmering time by 30 minutes. Fresh spinach is ideal, but frozen works in a pinch—thaw and drain well. The tomato paste can be swapped for 1 cup crushed tomatoes if needed, though it'll be slightly less concentrated. For the broth, homemade is best, but Swanson or Pacific Foods brands are reliable store-bought options. The celery and carrots can be pre-chopped to save time, but fresh is always better for flavor. If you're short on time, baby carrots and pre-cut celery sticks from the store work fine.

This soup reheats beautifully—simmer gently for 5-7 minutes to restore its velvety texture. Store in an airtight container for 4-5 days in the fridge or freeze for up to 3 months. The crusty bread pairs perfectly, but garlic bread or crusty rolls work just as well. For meal prep, portion the soup into containers and freeze individual servings. The hidden greens keep their nutrients even after reheating, making this a nourishing option for busy weeks.

❤️

Why You'll Love This Recipe

  • One-Pan Magic: I swear by this recipe when I’m too tired to wash extra dishes. Sear the beef heart in the same pot where the soup simmers—no chopping boards to clear, no pans to scrub. (Yes, even on a Tuesday night.)
  • Rich Umami Bomb: That beef heart? It’s the secret weapon—deep, meaty, and tender when slow-cooked. Pair it with San Marzano tomatoes and tomato paste, and you’ve got a sauce so flavorful it’ll make you forget store-bought canned soup exists.
  • Meal Prep MVP: This soup tastes even better the next day, which is perfect for busy weeks. Double the batch, store it in the fridge, and reheat it for lunch or dinner—no last-minute grocery runs needed.
  • Budget Game-Changer: Beef heart is cheaper than steak but packs just as much punch. A single pound stretches to feed four, and the onions, garlic, and tomatoes cost pennies. Honestly, it’s the kind of recipe that makes grocery day feel like a win.

Step-by-step instructions for heart soup recipe

Transform humble ingredients into a rich, velvety soup where beef heart meets aromatic vegetables and hidden greens.

1

Prepare and Sear the Beef Heart

Begin by cleaning the 1.5 lb beef heart thoroughly under cold water, then pat it completely dry with paper towels. Trim off any silver skin or connective tissue, then cut it into 1-inch cubes. This preparation ensures even cooking and maximum flavor extraction.

Heat the 0.25 cup olive oil in a large Dutch oven over medium-high heat until shimmering. Working in batches to avoid crowding, sear the beef heart cubes for 3-4 minutes per side until they develop a deep golden-brown crust. This step is critical—it locks in juices and builds a rich foundation for the soup. Remove the seared beef and set it aside temporarily.

2

Caramelize Vegetables and Build the Base

In the same Dutch oven, reduce the heat to medium and add the 2 whole yellow onions, sliced into thin half-moons. Cook for 8-10 minutes, stirring occasionally, until softened and beginning to caramelize—you'll notice the onions turn golden and release sweet aromas. Add the 2 whole carrots, sliced into rounds, and 3 whole celery stalks, chopped into small pieces, then cook for another 5 minutes until they begin to soften.

Stir in the 6 cloves garlic cloves, minced finely, and cook for 30 seconds until fragrant. Immediately add the 0.5 cup tomato paste and cook for 2 minutes, stirring constantly, to deepen its flavor. This step transforms raw ingredients into a complex, savory base that will carry the soup.

3

Simmer the Soup with Aromatics

Pour in the 2 cans canned San Marzano tomatoes (crushed) and 4 cups beef broth, scraping up any browned bits from the bottom of the pot. Add the 2 whole bay leaves, 1.5 tsp salt, and 0.5 tsp black pepper, then bring the mixture to a boil. Once boiling, reduce the heat to low and return the seared beef heart to the pot.

Cover and let the soup simmer gently for 1 hour 15 minutes, stirring occasionally. The beef heart should become fork-tender, and the flavors should meld into a cohesive, rich broth. If the soup reduces too much, add a splash of water or broth to maintain the desired consistency. This slow cooking ensures the beef heart absorbs the aromatic vegetable flavors.

4

Incorporate Greens and Finish

About 15 minutes before the soup is fully cooked, stir in the 4 cups fresh spinach, chopped. The spinach will wilt almost immediately, blending seamlessly into the soup while adding a subtle earthy note. Taste and adjust the seasoning if needed—you may need an additional pinch of salt or pepper to balance the flavors.

Remove the 2 whole bay leaves and discard them. The soup is now ready to be served. The hidden greens provide a nutritional boost without altering the soup's rich, hearty character. This step ensures a balanced, velvety texture that's both comforting and nutritious.

5

Serve with Crusty Bread

Ladle the soup into bowls and serve immediately, accompanied by 8 slices crusty bread for dipping. The bread's texture contrasts beautifully with the velvety soup, making each spoonful even more satisfying. The soup should be thick enough to coat the back of a spoon but still easy to sip, with tender beef heart and vibrant greens in every bite.

This soup is best enjoyed fresh, as the flavors continue to develop and deepen while serving. The combination of seared beef heart, caramelized vegetables, and hidden spinach creates a dish that's both hearty and refined—perfect for a comforting meal.

👨‍🍳

Pro Tips For Making Heart Soup

  • SEAR THE HEART FIRST: Skip the slow start—cut the beef heart into 1-inch chunks and sear them in a hot Dutch oven until deeply browned (about 5 minutes per side). That crust locks in flavor and prevents the soup from tasting like boiled beef. I used to rush this, and the soup never had that rich, meaty depth.
  • SWEAT ONIONS LOW AND SLOW: Don’t rush the onions—cook them over medium-low heat for 10-12 minutes until they’re soft, golden, and almost caramelized. High heat turns them bitter, and you’ll regret it when the soup tastes flat. (Yes, even if you’re impatient like me.)
  • USE WHOLE GARLIC, NOT MINCED: Smash 6-8 whole garlic cloves with the flat of your knife before adding them to the pot. They’ll infuse the soup with way more flavor than pre-minced garlic, and you won’t waste time peeling. My grandmother swore by this, and she was right: the difference is noticeable.
  • STIR IN TOMATO PASTE LAST: Wait until the onions and garlic are fully cooked before adding the tomato paste—otherwise, it burns and turns bitter. Just a splash of broth or water first helps it dissolve smoothly. I learned this the hard way after a batch tasted like charred paste.

Make-ahead tips for this heart soup

Prep Ahead for Simmering

Start by prepping the beef heart and vegetables the night before. Clean and cube the 1.5 lb beef heart and store it in an airtight container in the fridge. Thinly slice the 2 yellow onions and chop the 2 carrots and 3 celery stalks, storing them in separate containers.

This saves 20-30 minutes of prep time on cooking day. 🌿

Broth Base Prep

Make your beef broth in advance and store it in 1-cup portions in freezer-safe containers. Thaw only the 4 cups needed for this recipe the night before.

If using store-bought broth, keep it refrigerated until ready to use. Homemade broth adds depth, but quality brands like Pacific Foods work in a pinch.

Tomato Base Shortcut

Mix the 0.5 cup tomato paste with 2 cans crushed San Marzano tomatoes and 1 tsp salt in a bowl the night before. Store in the fridge until ready to use.

This pre-mix ensures a flavorful base without last-minute prep. For extra depth, add 1 tsp smoked paprika to the mix.

Greens Strategy

Chop the 4 cups fresh spinach and store it in a sealed container with a paper towel to absorb moisture. Add it directly to the simmering soup 15 minutes before serving—this keeps it vibrant and prevents it from turning mushy.

If using frozen spinach, thaw and drain it completely before adding.

Freezer-Friendly Portions

Divide the fully cooked soup into quart-sized freezer bags, leaving 1-inch headspace for expansion. Label with the date and freeze for up to 3 months.

To reheat, thaw overnight in the fridge, then simmer on the stovetop for 10-15 minutes until heated through. The texture remains velvety when reheated properly. ❄️

Bread Pairing Prep

Toast the 8 slices crusty bread ahead of time and store in a paper bag at room temperature. Reheat in a 350°F oven for 5 minutes before serving to restore crispiness. For meal prep, keep the bread separate until ready to serve to avoid sogginess.

Nutrition facts

Servings 6
Amount Per Serving
Calories 380kcal
% Daily Value *
Total Fat 18g23%
Saturated Fat 6g30%
Cholesterol 120mg40%
Sodium 850mg37%
Total Carbohydrate 22g8%
Dietary Fiber 6g21%
Sugars 10g
Protein 36g72%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Why do I need to parboil the beef heart before cooking?

Parboiling the beef heart for 5-7 minutes removes impurities and surface blood, ensuring a cleaner flavor and more tender texture. This step also helps reduce cooking time later and prevents the heart from becoming tough. Skipping it can leave a metallic taste in your soup.

2

Can I substitute beef heart with another protein?

Yes! For a similar texture, use beef short ribs (2 lbs) or pork heart, but increase simmering time by 30 minutes. Vegetarians can try mushrooms or tofu, though the flavor will differ significantly. The key is maintaining a 1.5 lb equivalent for balanced broth-to-protein ratio.

3

How do I know when the beef heart is fully tender?

The heart should be fork-tender after 1 hour 15 minutes of simmering. Insert a fork—it should slide in easily with no resistance. If it's still chewy, simmer uncovered for another 10-15 minutes while adding ¼ cup water to prevent drying. Overcooking can make it stringy, so monitor closely.

4

What if my soup tastes too acidic?

Balance acidity by adding ½ tsp sugar or 1 tsp honey to sweeten the tomato base. For deeper savory notes, stir in 1 tsp Worcestershire sauce or a pinch of smoked paprika. Taste as you go—acidity often mellows as the soup sits, so don't rush adjustments.

5

Can I make this soup in an Instant Pot?

Yes! Sear the beef heart first, then sauté onions, carrots, and celery in the pot. Add all remaining ingredients (except spinach) and cook on High Pressure for 20 minutes, then quick-release. Stir in spinach at the end. The texture will be slightly different but still delicious. For best results, use 3 cups broth instead of 4 to prevent overflow.

★★★★★4.6(14 reviews)
Categories Soups & Stews