Creamy Italian Meatball Soup

A steaming bowl of Creamy Italian Meatball Soup with tender beef meatballs and wilted spinach leaves. Pin This
A steaming bowl of Creamy Italian Meatball Soup with tender beef meatballs and wilted spinach leaves. | dailydishdrop.com

This warming Italian-style soup brings together tender homemade meatballs, vegetables, and small pasta in a luscious creamy tomato broth. The meatballs, seasoned with Parmesan, garlic, and herbs, brown beautifully before simmering to perfection in the aromatic base.

The finished dish combines hearty elements with fresh baby spinach and a swirl of heavy cream for velvety richness. Each bowl delivers satisfying comfort with tender meatballs, al dente pasta, and perfectly balanced seasoning.

Ready in about an hour, this soup serves six generously and pairs wonderfully with crusty bread. The flavors deepen beautifully, making it even better the next day.

The first time I made this soup during a gray November weekend, my kitchen filled with such incredible aromas that my neighbor actually knocked on the door to ask what was cooking. That moment of sharing something warm and comforting turned into a regular dinner tradition.

Last winter, my sister came over feeling under the weather, and I whipped up a batch. She ate two bowls and swore it was the best thing shed had in weeks, asking for the recipe before she even left.

Ingredients

  • 500 g ground beef or beef-pork mix: The pork adds fat and flavor that keeps meatballs tender
  • 1/2 cup breadcrumbs: Essential for binding, use fresh breadcrumbs for better texture
  • 1/4 cup grated Parmesan: Dont skip this, it adds umami depth to the meatballs
  • 1 large egg: The binder that holds everything together
  • 2 cloves garlic, minced: Fresh garlic always beats garlic powder here
  • 2 tbsp fresh parsley: Adds brightness, chop it right before mixing
  • 1 tsp dried oregano: Classic Italian flavor that pairs perfectly with tomato
  • 1/2 tsp salt and 1/4 tsp pepper: Season generously but taste as you go
  • 2 tbsp olive oil: Use this for both browning meatballs and sautéing vegetables
  • 1 medium onion, 2 carrots, 2 celery stalks: The holy trinity that builds depth
  • 3 cloves garlic, minced: More garlic for the soup base
  • 1 tsp dried basil and 1/2 tsp thyme: Dried herbs work beautifully in long-simmered soups
  • 1/2 tsp crushed red pepper flakes: Optional, but adds gentle warmth
  • 800 g canned crushed tomatoes: Quality matters here, San Marzano tomatoes are ideal
  • 1.2 L chicken or vegetable broth: Homemade broth is best, but a good quality store-bought works
  • 1 bay leaf: Adds subtle herbal notes, remember to remove before serving
  • 150 g small pasta: Ditalini or orzo hold up well in soup without getting mushy
  • 200 ml heavy cream: Creates that luxurious silky finish
  • 100 g baby spinach: Wilts beautifully and adds color and nutrition

Instructions

Form the meatballs:
Combine meat, breadcrumbs, Parmesan, egg, garlic, parsley, oregano, salt and pepper in a large bowl. Mix gently with your hands until just combined. Form into small meatballs about 2.5 cm in diameter. Overworking the meat makes them tough.
Brown the meatballs:
Heat 1 tbsp olive oil in a large soup pot over medium heat. Add meatballs in batches, turning to brown all sides. They do not need to cook through yet. Transfer to a plate lined with paper towels.
Sauté the vegetables:
Add remaining 1 tbsp olive oil to the same pot. Cook onion, carrots and celery for 5 minutes until softened and fragrant. Add garlic, basil, thyme and red pepper flakes. Cook 1 more minute until garlic is fragrant.
Simmer the soup:
Pour in crushed tomatoes and broth. Add bay leaf. Bring to a gentle simmer. Return meatballs to the pot. Cover and simmer for 15 minutes to develop flavors.
Cook the pasta:
Stir in pasta and simmer uncovered for 10 minutes. Cook until pasta is al dente and meatballs are completely cooked through. The pasta will absorb some liquid, which is normal.
Finish with cream:
Reduce heat to low. Remove bay leaf and discard. Stir in heavy cream and spinach. Cook 2 to 3 minutes until spinach wilts and soup becomes creamy. Season with salt and pepper to taste.
Freshly grated Parmesan cheese and basil garnish this comforting Creamy Italian Meatball Soup in a rustic bowl. Pin This
Freshly grated Parmesan cheese and basil garnish this comforting Creamy Italian Meatball Soup in a rustic bowl. | dailydishdrop.com

My father-in-law took one sip and declared it restaurant quality, then proceeded to ask when I would make it again. This soup has that effect on people.

Making It Lighter

After experimenting with substitutions, I found that half-and-half or evaporated milk creates a lovely velvety texture without the heaviness of cream. The soup remains satisfying but feels less indulgent.

Perfecting the Meatballs

I learned that keeping the meatballs small is crucial for soup enjoyment. Larger meatballs become unwieldy to eat and take too long to cook through. The 2.5 cm size is perfect for spooning up with every bite.

Serving Suggestions

A hunk of crusty bread for dipping is absolutely non-negotiable in my house. The bread soaks up that creamy tomato broth and becomes its own kind of magic. Keep extra Parmesan at the table because everyone always wants more.

  • Grate extra Parmesan fresh at the table for the best flavor
  • Stir a handful of fresh spinach into each individual bowl to keep it bright green
  • Let guests add their own red pepper flakes for adjustable heat
Close-up of Creamy Italian Meatball Soup, featuring al dente pasta and a creamy tomato broth. Pin This
Close-up of Creamy Italian Meatball Soup, featuring al dente pasta and a creamy tomato broth. | dailydishdrop.com

This soup has become my go-to for bringing comfort to anyone who needs it. Simple, nourishing, and always exactly right.

Recipe FAQs

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. This actually helps the flavors develop further.

Small pasta shapes like ditalini, orzo, small shells, or tubetti work beautifully. These shapes hold up well during simmering and are easy to scoop up with each spoonful. Avoid large shapes that may overpower the other ingredients.

The soup freezes well for up to 3 months, but it's best to freeze it before adding the pasta and cream. When reheating, cook the pasta separately and stir in the cream at the end to maintain the best texture and prevent the dairy from separating.

Substitute half-and-half or evaporated milk for heavy cream, and use lean ground beef or turkey for the meatballs. You can also increase the vegetables and reduce the pasta slightly for a nutrient-dense version with fewer calories.

Crusty Italian bread or garlic bread is perfect for soaking up the creamy broth. A simple green salad with vinaigrette balances the richness. For a complete meal, consider roasted vegetables or a light antipasto platter beforehand.

Absolutely. Use gluten-free breadcrumbs in the meatballs and choose gluten-free pasta shapes like corn or rice-based varieties. Double-check that all canned ingredients, particularly the broth and tomatoes, are certified gluten-free.

Creamy Italian Meatball Soup

Tender Italian meatballs simmered in a rich, creamy tomato broth with vegetables and pasta. A comforting bowl ready in just one hour.

Prep 20m
Cook 40m
Total 60m
Servings 6
Difficulty Easy

Ingredients

For the Meatballs

  • 1.1 pounds ground beef or beef-pork mixture
  • 1/2 cup breadcrumbs
  • 1/4 cup grated Parmesan cheese
  • 1 large egg
  • 2 cloves garlic, minced
  • 2 tablespoons chopped fresh parsley
  • 1 teaspoon dried oregano
  • 1/2 teaspoon salt
  • 1/4 teaspoon ground black pepper

For the Soup

  • 2 tablespoons olive oil
  • 1 medium onion, diced
  • 2 carrots, diced
  • 2 celery stalks, diced
  • 3 cloves garlic, minced
  • 1 teaspoon dried basil
  • 1/2 teaspoon dried thyme
  • 1/2 teaspoon crushed red pepper flakes
  • 28 ounces canned crushed tomatoes
  • 5 cups chicken or vegetable broth
  • 1 bay leaf
  • 1 cup small pasta such as ditalini or orzo
  • 3/4 cup heavy cream
  • 3.5 ounces baby spinach, roughly chopped
  • Salt and black pepper to taste

For Serving

  • Freshly grated Parmesan cheese
  • Chopped fresh basil or parsley
  • Crusty bread

Instructions

1
Prepare the Meatballs: Combine ground meat, breadcrumbs, Parmesan, egg, garlic, parsley, oregano, salt, and pepper in a large bowl. Mix until just combined. Form into small meatballs about 1 inch in diameter and set aside.
2
Brown the Meatballs: Heat 1 tablespoon olive oil in a large soup pot over medium heat. Add meatballs in batches, turning to brown on all sides. Transfer browned meatballs to a plate.
3
Sauté the Vegetables: Add remaining 1 tablespoon olive oil to the same pot. Sauté onion, carrots, and celery for 5 minutes until softened. Add garlic, basil, thyme, and red pepper flakes; cook 1 minute more.
4
Simmer the Soup: Add crushed tomatoes, broth, and bay leaf. Bring to a simmer. Return meatballs to the pot. Cover and simmer gently for 15 minutes.
5
Add Pasta: Stir in the pasta and continue simmering, uncovered, for 10 minutes or until pasta is al dente and meatballs are cooked through.
6
Finish the Soup: Reduce heat to low. Remove the bay leaf. Stir in heavy cream and baby spinach; cook for 2 to 3 minutes until spinach is wilted and soup is creamy. Season with salt and pepper as needed.
7
Serve: Ladle soup into bowls. Top with grated Parmesan and fresh herbs. Serve with crusty bread if desired.
Additional Information

Equipment Needed

  • Large soup pot
  • Mixing bowls
  • Wooden spoon
  • Knife and cutting board
  • Measuring cups and spoons

Nutrition (Per Serving)

Calories 480
Protein 25g
Carbs 36g
Fat 25g

Allergy Information

  • Contains gluten from breadcrumbs and pasta
  • Contains dairy from Parmesan and heavy cream
  • Contains egg in meatballs
  • May contain celery
Paige Morrison

Simple, flavorful recipes and easy cooking tips for home cooks and food lovers.