Creamy Italian Meatball Soup

Creamy Italian Meatball Soup served steaming hot in a rustic ceramic bowl, topped with fresh parsley and grated Parmesan for a cozy dinner. Save
Creamy Italian Meatball Soup served steaming hot in a rustic ceramic bowl, topped with fresh parsley and grated Parmesan for a cozy dinner. | cookedcomfort.com

This hearty soup brings together tender Italian-style meatballs, vegetables, and small pasta in a rich creamy tomato broth. The meatballs, made with ground beef, breadcrumbs, and Parmesan, are browned first then simmered to perfection. Carrots, celery, and onions add depth while heavy cream creates a velvety finish. Ready in about an hour, this makes six satisfying servings ideal for family dinners.

The first time I made this soup was during a gray November when everything outside felt raw and damp. My kitchen became the only warm place that existed, filled with the scent of garlic and tomatoes bubbling away on the stove. Something about lifting a steaming bowl to your face and letting the cream tomato broth warm you from the inside out just fixes whatever the day threw at you.

I remember making a triple batch for my sister when she was recovering from surgery. She texted me three days later asking if there was any left and then proceeded to eat soup for breakfast which honestly I support completely. Sometimes comfort food follows its own schedule.

Ingredients

  • 500 g ground beef or beef pork mix: The pork adds fat and keeps meatballs tender so do not skip it if you can help it
  • 1/2 cup breadcrumbs: These bind everything together and keep the meatballs from getting dense or rubbery
  • 1/4 cup grated Parmesan cheese: Adds that salty umami punch that makes Italian meatballs taste like Italian meatballs
  • 1 large egg: The glue that holds your meatballs together without making them tough
  • 2 cloves garlic minced: Fresh garlic in the meatballs gives you little pockets of flavor as you eat
  • 2 tbsp chopped fresh parsley: Brightens up the richness and makes everything taste fresh
  • 1 tsp dried oregano: That classic Italian herb backbone you cannot do without
  • 1/2 tsp salt and 1/4 tsp black pepper: Keep the seasoning light since the soup will also be salted
  • 2 tbsp olive oil: One for browning meatballs one for starting your soup base
  • 1 medium onion diced: The foundation of flavor that sweetens as it cooks
  • 2 carrots and 2 celery stalks diced: Your soup aromatics that build that classic savory base
  • 3 cloves garlic minced: More garlic because it is soup and garlic belongs here
  • 1 tsp dried basil and 1/2 tsp dried thyme: Dried herbs work beautifully here since they will simmer for a while
  • 1/2 tsp crushed red pepper flakes: Optional but that tiny hum of heat makes everything else pop
  • 800 g canned crushed tomatoes: The body and soul of your soup base
  • 1.2 L chicken or vegetable broth: Your liquid base so choose one you actually like drinking plain
  • 1 bay leaf: Adds that subtle background note that says soup has been simmering for hours
  • 150 g small pasta: Ditalini or orzo are perfect because they are spoon sized
  • 200 ml heavy cream: This is what transforms it from tomato soup to something deeply luxurious
  • 100 g baby spinach roughly chopped: Wilts into the hot soup at the end for color and fresh greens
  • Salt and black pepper to taste: Always taste at the end because tomatoes vary in acidity
  • Freshly grated Parmesan and herbs for serving: The finishing touches that make it feel like a restaurant bowl

Instructions

Mix and shape your meatballs:
Combine the ground meat with breadcrumbs Parmesan egg garlic parsley oregano salt and pepper in a large bowl. Mix gently just until everything is distributed because overmixing makes tough meatballs. Form them into small balls about 2.5 cm across and set them on a plate.
Brown the meatballs:
Heat one tablespoon of olive oil in your large soup pot over medium heat. Add meatballs in batches so you do not crowd the pan turning them until they are browned on all sides. They will finish cooking in the soup so just get some nice color on them first then transfer to a plate.
Cook the aromatics:
Pour in the remaining tablespoon of olive oil into that same pot. Add your onion carrots and celery and cook for about 5 minutes until they are softened and smell amazing. Toss in the garlic basil thyme and red pepper flakes and give it one more minute.
Build the soup base:
Pour in the crushed tomatoes and broth then drop in the bay leaf. Bring everything to a gentle simmer then carefully slide those browned meatballs back into the pot. Cover and let it simmer gently for 15 minutes so the meatballs finish cooking and the flavors start mingling.
Add the pasta:
Stir in the small pasta and keep simmering uncovered for about 10 minutes. You want the pasta to be al dente and the meatballs completely cooked through. The liquid will reduce slightly which is exactly what you want.
Finish with cream and spinach:
Turn the heat down to low and fish out the bay leaf. Pour in the heavy cream and scatter in the chopped spinach. Stir everything together and let it cook for just 2 to 3 minutes until the spinach wilts and the soup turns that gorgeous creamy orange red.
Serve it up:
Ladle the hot soup into bowls and shower each one with freshly grated Parmesan and chopped fresh herbs. Set out some crusty bread on the table because you will want something to drag through that creamy broth.
Close-up of Creamy Italian Meatball Soup with tender meatballs, baby spinach, and al dente pasta swimming in rich tomato cream broth. Save
Close-up of Creamy Italian Meatball Soup with tender meatballs, baby spinach, and al dente pasta swimming in rich tomato cream broth. | cookedcomfort.com

This soup has become my go to when someone has had a hard week or needs a proper hug in a bowl. There is something about the ritual of stirring that cream in at the end watching the broth transform that feels almost meditative.

Making It Your Way

I have played around with this recipe enough to know what works and what does not. Substituting half and half for heavy cream works in a pinch but you lose some of that luxurious body. Ground turkey makes perfectly fine meatballs but you really need that fat from pork or beef to keep them from drying out.

Get Everything Ready First

Having all your vegetables diced before you start cooking makes the whole process feel less chaotic. The soup moves pretty quickly once you start so I chop my onions carrots and celery into little piles on a cutting board first. It saves you from that moment of panic when something is burning and you are still trying to mince garlic.

Leftovers Actually Get Better

Like most soups this one tastes even better the next day after all the flavors have had time to really get to know each other. The pasta will soak up some broth so you might need to splash in a little extra liquid when you reheat it.

  • Store in an airtight container for up to 4 days
  • The pasta will soften more over time which some people actually prefer
  • Freeze without the pasta if you want to keep it longer and add fresh pasta when reheating
Comforting bowl of Creamy Italian Meatball Soup paired with crusty bread on a wooden table, ready for a hearty family meal. Save
Comforting bowl of Creamy Italian Meatball Soup paired with crusty bread on a wooden table, ready for a hearty family meal. | cookedcomfort.com

There is nothing quite like standing over a steaming pot of this soup on a cold evening while rain taps against the kitchen window.

Recipe FAQs

Yes, prepare up to 2 days ahead and refrigerate. Add pasta when reheating to prevent it from becoming mushy, and stir in cream just before serving.

Freeze without pasta and cream for up to 3 months. Add fresh pasta and cream when reheating for best texture and consistency.

Small shapes like ditalini, orzo, or small shells work perfectly as they fit on the spoon and hold the creamy broth well.

Substitute half-and-half or evaporated milk for heavy cream, and use ground turkey or chicken instead of beef for a lighter version.

Keep refrigerated in an airtight container for up to 4 days. The pasta will absorb liquid, so add extra broth when reheating if needed.

Creamy Italian Meatball Soup

Tender meatballs simmered in creamy tomato broth with vegetables and pasta for a comforting meal.

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

Ingredients

For the Meatballs

  • 1.1 lbs 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 oz 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 oz 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 Meatball Mixture: Combine ground meat, breadcrumbs, Parmesan, egg, minced garlic, parsley, oregano, salt, and pepper in a large bowl. Mix gently until just combined. Form mixture into small meatballs approximately 1 inch in diameter.
2
Brown Meatballs: Heat 1 tablespoon olive oil in a large soup pot over medium heat. Add meatballs in batches, turning to brown on all sides. Remove to a plate once browned—interior cooking will finish in the soup.
3
Sauté Aromatic Base: Add remaining tablespoon of olive oil to the same pot. Sauté diced onion, carrots, and celery for 5 minutes until softened. Add minced garlic, basil, thyme, and red pepper flakes; cook for 1 additional minute until fragrant.
4
Simmer Soup Base: Pour in crushed tomatoes, broth, and bay leaf. Bring mixture to a gentle simmer. Return browned meatballs to the pot. Cover and simmer for 15 minutes to develop flavors.
5
Cook Pasta: Stir in small pasta and continue simmering uncovered for 10 minutes until pasta reaches al dente texture and meatballs are cooked through completely.
6
Finish and Season: Remove bay leaf and reduce heat to low. Stir in heavy cream and chopped spinach; cook for 2 to 3 minutes until spinach wilts and soup becomes creamy. Adjust seasoning with salt and pepper as desired.
7
Serve: Ladle hot soup into serving bowls. Garnish generously with grated Parmesan and fresh herbs. Accompany with crusty bread for dipping.
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
Evelyn Foster

Home cook sharing easy, nourishing recipes and helpful kitchen tips for everyday family meals.