Creamy Italian Meatball Soup Recipe brings tender herby meatballs, a cozy tomato Parmesan broth, and wilted spinach together in one silky bowl. If you crave hearty comfort or need a weeknight Italian-style dinner, you can make it in about 50 minutes, start to finish. I still tear off extra bread for dunking, because old habits taste good.
Why You Should Try This Creamy Italian Meatball Soup Recipe
Creamy Italian Meatball Soup Recipe delivers a rich tomato base with cream, Parmesan, and the kind of meatballs that make you hover by the stove. The broth tastes velvety and savory, and the pasta cooks right in the pot for minimal cleanup. The soup works for picky eaters and soup lovers alike.
You can scale it for a crowd or portion it for lunches. It reheats well, and the flavors mellow in the best way. If you want Italian comfort without babysitting a sauce all afternoon, this soup hits the spot.
Ingredients You’ll Need
Serves 6
Meatballs:
- 1 pound ground beef, 85 to 90 percent lean (or use 1/2 pound beef + 1/2 pound mild Italian sausage for extra flavor)
- 1/2 cup breadcrumbs (Italian seasoned, plain panko, or use almond flour for low carb; use gluten-free crumbs if needed)
- 1 large egg
- 1/3 cup finely grated Parmesan cheese (or Pecorino Romano)
- 2 tablespoons minced onion or 1 teaspoon onion powder for a shortcut
- 2 cloves garlic, minced, or 1 teaspoon granulated garlic
- 1 tablespoon chopped fresh parsley or 1 teaspoon dried
- 1 teaspoon Italian seasoning
- 3/4 teaspoon kosher salt
- 1/2 teaspoon black pepper
- 2 tablespoons olive oil for browning
Soup base:
- 1 tablespoon olive oil
- 1 small yellow onion, diced
- 2 carrots, peeled and diced
- 2 celery ribs, diced
- 3 cloves garlic, minced
- 1/2 teaspoon fennel seeds, lightly crushed, optional but tasty
- 1/4 to 1/2 teaspoon red pepper flakes, to taste
- 1 teaspoon dried oregano or Italian seasoning
- 1 bay leaf
- 4 cups low sodium chicken broth (Better Than Bouillon works well)
- 1 cup water
- 1 can 14 to 15 ounces crushed tomatoes or tomato passata (San Marzano style gives great flavor)
- 3/4 cup orzo or other small pasta like ditalini or small shells
- 1/2 cup heavy cream (or use half-and-half mixed with 1 teaspoon cornstarch)
- 3 packed cups baby spinach
- 1/2 cup finely grated Parmesan, plus more for serving
- 1 to 2 teaspoons lemon juice or a pinch of zest for brightness
- Kosher salt and black pepper, to taste
Shortcuts and swaps:
- Use 18 to 20 ounces frozen mini Italian meatballs if you want a faster path.
- Stir in 2 cups good marinara like Rao’s instead of crushed tomatoes for a softer tomato note.
- Swap spinach with kale, chopped small, and simmer it 5 extra minutes.
- Dairy free option: use full-fat coconut milk and skip the Parmesan or use a dairy free Parmesan.
Equipment:
- 5 to 6 quart Dutch oven or heavy pot with lid
- Mixing bowl and sheet pan or plate
- Cookie scoop or tablespoon for portioning
- Tongs, wooden spoon, ladle, and measuring tools
How to Make Creamy Italian Meatball Soup
- Prep: 20 minutes
- Cook: 30 minutes
- Total: 50 minutes
- Mix the meatballs: In a bowl, combine beef, breadcrumbs, egg, Parmesan, onion, garlic, parsley, Italian seasoning, salt, and pepper. Stir until the mixture looks tacky and holds together. Scoop into 1 to 1.25 inch balls and roll tight.
- Brown the meatballs: Heat 2 tablespoons olive oil in a Dutch oven over medium-high heat. Brown meatballs in two batches, 2 to 3 minutes per side, until golden. Transfer to a plate and keep the browned bits in the pot.
- Soften the veggies: Lower heat to medium. Add 1 tablespoon olive oil, onion, carrots, and celery with a pinch of salt. Cook 5 to 6 minutes, stirring, until the veggies soften and the fond loosens.
- Bloom the aromatics: Add garlic, fennel seeds, red pepper flakes, and oregano. Stir for 30 seconds until fragrant.
- Build the broth: Pour in crushed tomatoes, broth, water, and drop in the bay leaf. Scrape the bottom to lift any browned bits. Bring the pot to a gentle boil.
- Add pasta and meatballs: Stir in orzo. Nestle the browned meatballs and any juices back into the pot. Reduce heat to a lively simmer.
- Simmer to cook through: Cook 10 to 12 minutes, stirring now and then so the pasta does not stick. The meatballs should read 165 degrees F in the center, and the pasta should hit al dente.
- Make it creamy: Lower the heat. Stir in heavy cream and the 1/2 cup Parmesan until the soup looks silky. Do not boil after you add the dairy.
- Finish with greens: Stir in spinach and let it wilt, about 1 minute. Add lemon juice, then taste and adjust salt and pepper.
- Rest and serve: Let the soup rest 5 minutes so the starch thickens the broth slightly. Ladle into bowls and top with extra Parmesan and a little olive oil if you like.
- Shortcut path with frozen meatballs: Brown them in the pot for better flavor or simmer them straight in the broth until heated through. Add pasta, then finish as above.
- Make it gluten free: Use gluten-free crumbs in the meatballs and swap orzo with cooked rice or gluten-free pasta. Add cooked rice at the end so it stays tender.
Tips & Tricks
- Chill the meatball mixture for 10 minutes to roll easier and keep the meatballs tender.
- Use a small cookie scoop so each meatball cooks at the same pace.
- Brown the meatballs well for deeper flavor, then scrape the fond into the soup.
- Keep cream at room temp and add it off a boil to prevent curdling.
- If the soup thickens, loosen it with warm broth or water, 1/4 cup at a time.
- Want extra richness without more cream? Stir in a spoon of mascarpone or a knob of butter.
- Hold pasta separate when you plan for leftovers, then combine it in each bowl.
- Season in layers. Salt the veggies, taste after the meatballs simmer, then finish with lemon.
What to Serve with Creamy Italian Meatball Soup
This soup loves crusty bread, garlic bread, or warm focaccia for dunking. A crisp green salad with lemon vinaigrette balances the creamy tomato broth. Roasted broccoli or balsamic Brussels sprouts make a great side, and a light Italian red or a chilled Pinot Grigio pairs nicely. If you want a topper, drizzle chili oil or sprinkle more Parmesan and fresh basil.
Make-Ahead and Storage
Make the meatballs up to 2 days ahead and keep them chilled, or freeze them raw on a sheet pan, then bag them for later. For the best texture, freeze the soup before adding cream and spinach, then reheat and add those at the end. Store leftovers in airtight containers in the fridge for up to 4 days or in the freezer for up to 3 months.
Reheat gently on the stove over medium heat until hot. Thin with a splash of broth if the pasta swells. If you held the pasta separate, warm the soup and add the pasta to each bowl so it stays springy.
Nutrition Information
Approximate per serving, with orzo and cream: 520 calories, 28g fat, 29g carbs, 33g protein, 4g fiber, 980mg sodium.
Numbers will vary with sausage vs lean beef, broth brand, and how much Parmesan lands in the bowl. Lighter bowl, use half-and-half, lean beef, and skip extra cheese on top. For low carb, swap orzo with cauliflower rice and use almond flour in the meatballs.

Creamy Italian Meatball Soup Recipe
Ingredients
Instructions
- In a large bowl, combine ground beef, breadcrumbs, Parmesan, egg, garlic, parsley, salt, and pepper. Mix well and form into small meatballs.
- Heat olive oil in a large pot over medium heat. Cook meatballs until browned on all sides. Remove meatballs and set aside.
- In the same pot, add onion and garlic. Sauté until softened.
- Add beef broth and bring to a boil.
- Stir in pasta and cook until al dente according to package instructions.
- Return meatballs to the pot and simmer until cooked through, about 10 minutes.
- Stir in heavy cream and spinach. Cook until spinach is wilted and soup is heated through.
- Season with salt and pepper to taste. Serve hot.
