Creamy Italian Meatball Soup (Printable)

Tender meatballs in a creamy tomato vegetable broth with pasta, perfect for cozy dinners.

# What You'll 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 mixture into 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 once seared.
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 until fragrant.
04 - Pour in crushed tomatoes, broth, and bay leaf. Bring mixture to a simmer. Return browned meatballs to the pot. Cover and simmer gently for 15 minutes to develop flavors.
05 - Stir in pasta and continue simmering uncovered for 10 minutes until pasta is al dente and meatballs are cooked through completely.
06 - Reduce heat to low. Remove and discard bay leaf. Stir in heavy cream and spinach; cook 2–3 minutes until spinach wilts and soup becomes creamy. Season with salt and pepper as needed. Ladle into bowls and top with grated Parmesan and fresh herbs.

# Tips from dashanddishes:

01 -
  • The cream transforms a ordinary tomato soup into something restaurant worthy and incredibly comforting
  • Everything cooks in one pot making it perfect for weeknight dinners when you want something special without the fuss
02 -
  • Dont skip browning the meatballs first because that caramelization adds depth of flavor you cant get any other way
  • The cream can separate if you boil the soup after adding it so keep the heat low once you pour it in
03 -
  • Use a small ice cream scoop to make perfectly uniform meatballs quickly
  • Grate your own Parmesan instead of buying pre grated for the best melting and flavor