Creamy Italian Meatball Soup (Printable version)

Tender meatballs in a rich creamy tomato broth with vegetables and pasta.

# What you need:

→ For the Meatballs

01 - 1.1 pounds ground beef (or beef and pork mix)
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

→ For the Soup

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 (optional)
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, roughly chopped
24 - Salt and black pepper to taste

→ For Serving

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

# 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. Form into small 1-inch diameter meatballs and set aside.
02 - 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.
03 - 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.
04 - Add crushed tomatoes, broth, and bay leaf. Bring to a simmer. Return meatballs to the pot. Cover and simmer gently for 15 minutes.
05 - Stir in the pasta and continue simmering, uncovered, for 10 minutes or until pasta is al dente and meatballs are cooked through.
06 - 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.
07 - Ladle soup into bowls. Top with grated Parmesan and fresh herbs. Serve with crusty bread if desired.

# Expert tips:

01 -
  • The way the cream swirls into the tomato base creates these gorgeous ribbons of color that make everyone lean over the pot and go ohh
  • Meatballs in soup somehow taste infinitely better than meatballs on their own, probably because they soak up all that flavored broth
02 -
  • The soup thickens considerably as it sits because the pasta keeps absorbing liquid, thin it with more broth when reheating
  • Salt your soup before adding the cream, dairy masks saltiness and you'll end up over-salting trying to compensate
03 -
  • Make a double batch of meatballs and freeze half for next time, the prep work is already done and you're halfway to soup
  • The day-old soup somehow tastes better, give the flavors time to really get to know each other