Creamy Italian Meatball Soup

A close-up of Creamy Italian Meatball Soup in a white bowl, showcasing tender meatballs and wilted spinach in a rich, creamy tomato broth. Pin it
A close-up of Creamy Italian Meatball Soup in a white bowl, showcasing tender meatballs and wilted spinach in a rich, creamy tomato broth. | dishjoyful.com

This soul-warming bowl combines handmade Italian meatballs with a velvety tomato base enriched with heavy cream and fresh spinach. The aromatic foundation of onions, carrots, and celery creates depth, while dried herbs like basil, thyme, and oregano infuse authentic Mediterranean flavors throughout the simmering process.

Small pasta such as ditalini or orzo adds satisfying substance, making each spoonful more filling. The finished dish emerges with perfectly cooked meatballs, al dente pasta, and wilted greens floating in a luxurious, ruby-hued broth that delivers restaurant-quality results with simple techniques.

Garnished with grated Parmesan and fresh herbs, this versatile one-pot meal adapts beautifully to dietary needs while maintaining its rich character and comforting appeal.

The first snowfall had just started dusting the windowsills when my neighbor Anna knocked on my door with a container of this soup. She had just returned from visiting her grandmother in Bologna and insisted that this was the soup that cured homesickness. One spoonful of that velvety tomato broth and those tender little meatballs, and I understood exactly what she meant.

Last winter my sister came over after a particularly rough week at work. I set a pot of this soup simmering on the back burner, and by the time she walked through the door, the aroma of garlic and tomatoes had already started working its magic. We ate standing at the kitchen counter, talking about nothing and everything, until every drop was gone.

Ingredients

  • Ground beef: A mix of beef and pork gives the meatballs extra richness and keeps them tender
  • Breadcrumbs: These are essential for binding the meatballs and preventing them from becoming tough
  • Grated Parmesan: Adds umami depth to the meatballs that you cannot get from salt alone
  • Crushed tomatoes: Create the perfect base for a soup thats hearty but not chunky
  • Heavy cream: The secret ingredient that makes this soup truly luxurious and comforting
  • Small pasta: Ditalini or orzo are ideal because they cook evenly and fit on a spoon
  • Baby spinach: Wilts beautifully into the hot soup and adds fresh color and nutrients

Instructions

Mix the meatball mixture:
Combine the ground meat, breadcrumbs, Parmesan, egg, garlic, parsley, oregano, salt, and pepper in a large bowl. Mix with your hands until just combined and form into small meatballs.
Brown the meatballs:
Heat olive oil in a large soup pot over medium heat and add meatballs in batches. Turn to brown on all sides then transfer to a plate.
Cook the vegetables:
Sauté onion, carrots, and celery for 5 minutes until softened. Add garlic, basil, thyme, and red pepper flakes and cook 1 minute more.
Simmer the base:
Add crushed tomatoes, broth, and bay leaf. Bring to a simmer then return meatballs to the pot. Cover and simmer gently for 15 minutes.
Add the pasta:
Stir in the pasta and continue simmering uncovered for 10 minutes or until pasta is al dente and meatballs are cooked through.
Finish and serve:
Remove the bay leaf then stir in heavy cream and spinach. Cook for 2 to 3 minutes until spinach is wilted and season with salt and pepper.
Ladle dipping into a pot of Creamy Italian Meatball Soup, featuring ditalini pasta and fresh basil garnish beside a slice of crusty bread. Pin it
Ladle dipping into a pot of Creamy Italian Meatball Soup, featuring ditalini pasta and fresh basil garnish beside a slice of crusty bread. | dishjoyful.com

This recipe has become my go to for new parents and friends recovering from surgery. It freezes beautifully, so I often double the batch and keep portions in the freezer for emergencies. There is something about tiny meatballs floating in a creamy broth that feels like a hug in a bowl.

Making Ahead

The soup base can be made a day in advance, but hold off on adding the pasta and cream until you reheat it. Pasta absorbs liquid as it sits, so adding it fresh keeps the texture perfect every time.

Customizing Your Soup

Sometimes I add diced zucchini or bell pepper along with the other vegetables for extra nutrition. You can also use half and half instead of heavy cream for a lighter version that still feels indulgent.

Serving Suggestions

A hunk of crusty bread is non negotiable for soaking up every last drop of that creamy tomato broth. I also like to set out extra Parmesan and red pepper flakes so everyone can season their bowl exactly how they like it.

  • Grate extra Parmesan over each bowl for a salty finish
  • Crush more red pepper flakes if you love heat
  • Stir in a handful of fresh basil just before serving
Top-down view of Creamy Italian Meatball Soup served in a rustic bowl, steam rising from the creamy tomato and vegetable broth with grated Parmesan. Pin it
Top-down view of Creamy Italian Meatball Soup served in a rustic bowl, steam rising from the creamy tomato and vegetable broth with grated Parmesan. | dishjoyful.com

There is nothing quite like gathering around a steaming pot of soup while snow falls outside. This is the kind of recipe that turns a regular Tuesday into something special.

Recipe FAQs

Absolutely. Prepare and shape the meatballs up to 24 hours in advance, storing them covered in the refrigerator. You can also brown them ahead and finish cooking in the broth when ready to serve.

Small shapes like ditalini, orzo, mini shells, or tubetti capture the broth beautifully. Avoid larger pasta as they overpower the spoonful-to-spoonful experience.

The broth and meatballs freeze well for up to 3 months. For best results, freeze before adding pasta and cream. Reheat on the stovetop, then add freshly cooked pasta and finish with cream.

Replace heavy cream with half-and-half or evaporated milk. Use lean ground turkey or chicken for meatballs, and increase vegetables like zucchini or spinach while reducing pasta quantity.

Avoid overmixing the meat mixture—combine until just incorporated. The breadcrumbs and egg bind gently, and simmering directly in the broth keeps them moist while infusing flavor throughout.

Substitute coconut cream or full-fat canned coconut milk for heavy cream. Use nutritional yeast or vegan Parmesan alternative, and replace meatball cheese with additional breadcrumbs.

Creamy Italian Meatball Soup

Hearty soup with tender meatballs in a creamy tomato-vegetable broth, ready in one hour.

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

Ingredients

Meatballs

  • 1.1 pounds ground beef or beef-pork blend
  • 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

Soup Base

  • 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 (ditalini or orzo)
  • 3/4 cup heavy cream
  • 3.5 ounces baby spinach, chopped
  • Salt and black pepper to taste

Servings

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

Instructions

1
Prepare Meatball Mixture: Combine ground meat, breadcrumbs, Parmesan, egg, garlic, parsley, oregano, salt, and pepper in a large bowl. Mix until just combined, being careful not to overwork the mixture.
2
Form Meatballs: Shape the mixture into small meatballs approximately 1 inch in diameter. Place them on a plate or baking sheet while you prepare the soup base.
3
Brown Meatballs: Heat 1 tablespoon olive oil in a large soup pot over medium heat. Add meatballs in batches, turning frequently to brown on all sides. They need not be cooked through at this stage. Transfer browned meatballs to a clean plate.
4
Sauté Vegetables: Add the 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 for 1 additional minute until fragrant.
5
Build Soup Base: Pour in crushed tomatoes, broth, and add the bay leaf. Bring the mixture to a gentle simmer. Return the browned meatballs to the pot, cover, and simmer gently for 15 minutes.
6
Cook Pasta: Stir in the pasta and continue simmering, uncovered, for 10 minutes or until pasta is al dente and meatballs are completely cooked through.
7
Finish Soup: Reduce heat to low and discard the bay leaf. Stir in heavy cream and baby spinach; cook for 2–3 minutes until spinach is wilted and soup reaches a creamy consistency. Season with salt and pepper as needed.
8
Serve: Ladle hot soup into serving bowls. Top with grated Parmesan cheese and fresh herbs. Accompany with crusty bread if desired.
Additional Information

Equipment Needed

  • Large soup pot
  • Mixing bowls
  • Wooden spoon
  • Chef's 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 cheese and heavy cream
  • Contains eggs in meatball mixture
  • Contains celery
Alyson Hart

Home cook crafting easy, family-friendly meals with simple, wholesome ingredients.