Creamy Italian Meatball Soup (Printable version)

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

# What You’ll Need:

→ Meatballs

01 - 1.1 pounds ground beef or beef-pork blend
02 - 1/2 cup breadcrumbs
03 - 1/4 cup grated Parmesan cheese
04 - 1 large egg
05 - 2 cloves garlic, minced
06 - 2 tablespoons chopped fresh parsley
07 - 1 teaspoon dried oregano
08 - 1/2 teaspoon salt
09 - 1/4 teaspoon ground black pepper

→ Soup Base

10 - 2 tablespoons olive oil
11 - 1 medium onion, diced
12 - 2 carrots, diced
13 - 2 celery stalks, diced
14 - 3 cloves garlic, minced
15 - 1 teaspoon dried basil
16 - 1/2 teaspoon dried thyme
17 - 1/2 teaspoon crushed red pepper flakes
18 - 28 ounces canned crushed tomatoes
19 - 5 cups chicken or vegetable broth
20 - 1 bay leaf
21 - 1 cup small pasta (ditalini or orzo)
22 - 3/4 cup heavy cream
23 - 3.5 ounces baby spinach, chopped
24 - Salt and black pepper to taste

→ Servings

25 - Freshly grated Parmesan cheese
26 - Chopped fresh basil or parsley
27 - Crusty bread

# How to Make It:

01 - 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.
02 - 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.
03 - 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.
04 - 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.
05 - 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.
06 - Stir in the pasta and continue simmering, uncovered, for 10 minutes or until pasta is al dente and meatballs are completely cooked through.
07 - 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.
08 - Ladle hot soup into serving bowls. Top with grated Parmesan cheese and fresh herbs. Accompany with crusty bread if desired.

# Expert tips:

01 -
  • The cream transforms ordinary tomato soup into something restaurant worthy without any fancy techniques
  • Tiny meatballs mean you get savory bites in every single spoonful
  • It makes the house smell like an Italian grandmother has moved in for the afternoon
02 -
  • Do not overmix the meatballs or they will become tough and dense
  • The meatballs do not need to be fully cooked through when browning
  • Add the cream at the very end or it may separate from the heat
03 -
  • Use a cookie scoop to make perfectly uniform meatballs quickly
  • Let the soup rest for 5 minutes off heat before serving to allow flavors to meld