Creamy Italian Meatball Soup

A bowl of creamy Italian meatball soup with tender beef meatballs, diced carrots, and wilted spinach in a rich tomato broth. Save
A bowl of creamy Italian meatball soup with tender beef meatballs, diced carrots, and wilted spinach in a rich tomato broth. | mealhivehub.com

This satisfying one-pot soup combines juicy, herb-seasoned meatballs with a luscious tomato-cream base. The meatballs are browned first to develop deep flavor, then simmered directly in the broth alongside carrots, celery, and onions. Small pasta adds substance, while fresh spinach wilts in at the end for color and nutrients. The final touch of heavy cream creates a velvety texture that balances the acidic tomatoes beautifully.

The first time I made this soup was during a particularly brutal February when our old drafty house felt impossible to warm up. My grandmother had called complaining about the cold, and I decided soup was the answer to everything. The way the cream swirls into the tomato base still reminds me of that afternoon watching steam fog up the kitchen windows while the pot bubbled away.

Last winter my neighbor popped over unexpectedly when this was simmering, and she ended up staying for two bowls. She kept asking what made the broth so rich, and I had to admit it was just the simple magic of meatballs cooking in their own soup. Now she texts me every time she sees ditalini on sale at the grocery store.

Ingredients

  • Ground beef or beef pork mix: The pork adds fat that keeps meatballs from drying out in the soup
  • Fresh breadcrumbs: I pulse stale bread in the food processor store bought are too dense
  • Parmesan cheese: Grate it yourself from a wedge the pre grated stuff has anti caking agents that affect texture
  • Heavy cream: Room temperature integrates better into hot soup without curdling
  • Small pasta: Ditalini or orzo hold up better in broth than larger shapes
  • Baby spinach: Adds color without overpowering the classic Italian flavors

Instructions

Make the meatballs:
Combine everything in a bowl but dont overwork the meat or theyll turn tough. Roll them into walnut sized balls and set them on a plate while you heat your soup pot.
Brown them first:
Give the meatballs a quick sear in olive oil just until golden on the outside. Youre not cooking them through just building that caramelized flavor base.
Build your soup base:
Sauté the onions carrots and celery until they soften then add the garlic and herbs until the kitchen smells amazing.
Simmer together:
Pour in the tomatoes and broth add the bay leaf then tuck those browned meatballs back in. Let it bubble gently for 15 minutes so the meatballs finish cooking in the liquid.
Add the pasta:
Stir in the small pasta and cook until its al dente. The pasta will absorb some of the broth which makes the soup even better as it sits.
Finish with cream:
Turn the heat down low fish out the bay leaf then stir in the heavy cream and spinach. Let the spinach wilt just until it turns bright green then season to taste.
Creamy Italian meatball soup served steaming hot in a rustic bowl with grated Parmesan and a side of crusty bread. Save
Creamy Italian meatball soup served steaming hot in a rustic bowl with grated Parmesan and a side of crusty bread. | mealhivehub.com

This recipe became my go to when my kids were sick because its gentle enough for upset stomachs but still feels nourishing. Something about the tender meatballs floating in that creamy broth makes even the worst cold day feel manageable.

Making It Ahead

The soup base freezes beautifully without the pasta and cream added. I portion it into containers then finish with fresh pasta and cream when reheating.

Choosing The Right Pasta

Those tiny shapes catch in your spoon with every bite. Larger shapes get unwieldy and overwhelming in this kind of broth.

Serving Suggestions

A hunk of crusty bread for dipping is absolutely non negotiable. The way soaks up that creamy tomato broth might be the best part.

  • Grate extra Parmesan at the table so people can add their own
  • Offer red pepper flakes on the side for heat lovers
  • Keep some crusty bread nearby for the inevitable dipping
Homemade creamy Italian meatball soup featuring al dente pasta and fresh basil, ready to enjoy on a cozy evening. Save
Homemade creamy Italian meatball soup featuring al dente pasta and fresh basil, ready to enjoy on a cozy evening. | mealhivehub.com

Theres something about this soup that makes people linger at the table longer than usual.

Common Questions

Yes, you can prepare and brown the meatballs up to 24 hours in advance. Store them in the refrigerator and add them to the simmering broth when ready to complete the dish.

Small shapes like ditalini, orzo, mini shells, or tubetti work well because they're easy to scoop up with a spoon. Avoid larger pasta that becomes difficult to eat in soup.

Reduce the heat to low before adding the heavy cream, and avoid bringing the soup to a boil after incorporating it. Stir gently while the cream warms through.

Freeze without the pasta and cream. When reheating, cook fresh pasta separately and stir in the cream during the last few minutes of warming for the best texture.

Half-and-half, evaporated milk, or coconut milk work as lighter alternatives. Full-fat coconut milk adds subtle sweetness while maintaining richness.

The meatballs should reach an internal temperature of 160°F (71°C). They'll also feel firm to the touch and cooked through when cut in half, typically after simmering about 25 minutes total.

Creamy Italian Meatball Soup

Hearty soup with tender meatballs, vegetables, and creamy tomato broth perfect for cozy evenings.

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

Ingredients

For the Meatballs

  • 1.1 pounds ground beef or beef and pork mix
  • 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, being careful not to overwork the meat. Form mixture into small meatballs approximately 1 inch in diameter and set aside on a plate or cutting board.
2
Brown the Meatballs: Heat 1 tablespoon olive oil in a large soup pot over medium heat. Add meatballs in batches without overcrowding the pot, turning occasionally to brown evenly on all sides. They will finish cooking later in the soup. Transfer browned meatballs to a plate and repeat with remaining batches.
3
Sauté the Vegetables: Add remaining 1 tablespoon olive oil to the same pot. Sauté diced onion, carrots, and celery for 5 minutes until softened and fragrant. Add minced garlic, dried basil, dried thyme, and red pepper flakes; continue cooking for 1 minute more until garlic is aromatic.
4
Simmer the Soup Base: Pour in crushed tomatoes and broth, then add the bay leaf. Bring mixture to a gentle simmer. Return browned meatballs to the pot along with any accumulated juices. Cover and maintain a gentle simmer for 15 minutes to develop flavors and partially cook meatballs.
5
Cook the Pasta: Stir in the small pasta and continue simmering uncovered for approximately 10 minutes, or until pasta is al dente and meatballs are cooked through completely. Stir occasionally to prevent pasta from sticking to the bottom of the pot.
6
Finish the Soup: Reduce heat to low setting and remove the bay leaf. Pour in heavy cream while stirring constantly. Add chopped spinach and cook for 2 to 3 minutes until spinach is wilted and soup has a creamy consistency. Taste and adjust seasoning with additional salt and pepper as needed.
7
Serve: Ladle hot soup into individual serving bowls. Generously top each portion with freshly grated Parmesan cheese and a sprinkle of chopped fresh basil or parsley. Accompany with crusty bread for dipping 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 cheese and heavy cream
  • Contains eggs in meatballs
  • May contain celery
Danielle Porter

Home cook sharing easy, healthy recipes and kitchen tips for busy food lovers.