This hearty bowl brings together tender Italian-style meatballs, vegetables, and small pasta in a luscious creamy tomato broth. Ready in just one hour, it's perfect for chilly evenings when you need something warming and satisfying.
My apartment smelled incredible yesterday, the kind of aroma that makes neighbors pause in the hallway. I had decided on a whim to make this soup, something warm and substantial for a rainy evening. The gentle bubbling of tomato broth filled every corner of my tiny kitchen. Honestly, it turned an ordinary Tuesday into something that felt like a hug.
Last winter, my sister came over exhausted from work. I ladled this soup into deep bowls while she curled up on the couch. She took one bite and her shoulders actually dropped, the tension just melting away. We ended up talking for hours over those steaming bowls, and now she requests it whenever life gets overwhelming.
Ingredients
- 500 g ground beef: A mix of beef and pork gives the meatballs incredible flavor and moisture
- 1/2 cup breadcrumbs: These keep the meatballs tender, preventing them from becoming tough little rocks
- 1/4 cup grated Parmesan cheese: Adds a salty depth that permeates the entire meatball
- 1 large egg: The binder that holds everything together without making the mixture heavy
- 2 cloves garlic: Minced fresh, never powder, for the meatballs
- 2 tbsp chopped fresh parsley: Brings brightness and color to every bite
- 1 tsp dried oregano: The classic Italian herb that makes this taste authentic
- 2 tbsp olive oil: Split between browning meatballs and starting the soup base
- 1 medium onion, 2 carrots, 2 celery stalks: The holy trinity that builds flavor from the bottom up
- 800 g canned crushed tomatoes: The backbone of the whole soup
- 1.2 L chicken or vegetable broth: Use good quality broth because you really taste it here
- 150 g small pasta: Ditalini or orzo fits perfectly on the spoon
- 200 ml heavy cream: Makes that luxurious silky finish
- 100 g baby spinach: Wilts beautifully into the hot soup
Instructions
- Make the meatballs:
- Mix everything gently with your hands until just combined, then form into small balls about 2.5 cm across.
- Brown them:
- Heat 1 tbsp oil in your soup pot over medium heat and brown the meatballs in batches, turning to get color on all sides.
- Cook the base vegetables:
- Add the remaining oil to the same pot, then sauté onion, carrots, and celery for 5 minutes until they soften.
- Add the aromatics:
- Toss in garlic, basil, thyme, and red pepper flakes and cook for just 1 minute until fragrant.
- Build the soup:
- Pour in crushed tomatoes, broth, and the bay leaf, bring to a simmer, then return the meatballs to the pot.
- Simmer together:
- Cover and let everything gently cook for 15 minutes, letting the flavors marry.
- Cook the pasta:
- Stir in the pasta and simmer uncovered for 10 minutes until it reaches al dente perfection.
- Finish it:
- Discard the bay leaf, stir in heavy cream and spinach, and cook just until the spinach wilts.
This soup became my go-to when my friend was recovering from surgery. She could only manage soft, soothing foods, and I brought over a big container. She texted me later that it was the first time she had genuinely enjoyed eating in days.
Making It Your Own
I have made countless versions of this soup depending on what is in my pantry. Sometimes I skip the cream entirely for a lighter broth version that still feels incredibly satisfying. The recipe is forgiving and welcomes creativity.
The Secret to Better Meatballs
After years of making this, I learned that wetting my hands with cold water before rolling prevents sticking. The meatballs form so much easier and hold their shape better. Little tricks like that make the whole process feel less messy.
Perfect Pairings
A hunk of crusty bread is practically mandatory for soaking up that creamy tomato broth. A simple green salad with bright vinaigrette cuts through the richness beautifully.
- Grill some garlic bread to serve alongside
- Open a medium bodied red wine like Chianti
- Keep extra Parmesan at the table for sprinkling
There is something deeply satisfying about a soup that feels substantial but not heavy. Hope this brings your family together around the table.
Recipe Questions & Answers
- → Can I make the meatballs ahead of time?
-
Yes, you can prepare and brown the meatballs up to a day in advance. Store them in the refrigerator and add them to the simmering broth when ready to complete the dish.
- → What pasta works best?
-
Small shapes like ditalini, orzo, or small shells work wonderfully as they fit neatly on the spoon. Any small pasta that holds sauce well will be delicious.
- → Can I freeze this soup?
-
The soup freezes well for up to 3 months, though it's best to add the cream and fresh pasta when reheating. Freeze the base with meatballs, then finish with cream and fresh pasta when serving.
- → How do I make it lighter?
-
Substitute half-and-half or evaporated milk for heavy cream. You can also use extra-lean ground meat and increase the vegetables for a lighter version that's still satisfying.
- → What can I serve with it?
-
Crusty bread for dipping is perfect. A simple green salad with vinaigrette balances the richness. Grated extra Parmesan and fresh herbs on top add lovely finishing touches.
- → Can I use store-bought meatballs?
-
Absolutely! Use frozen Italian meatballs and add them during the simmering stage. They may need less cooking time, so add them about 10 minutes before adding the pasta.