Print

Meatball Soup with Rotini, Spinach, and Parmesan Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

4.2 from 5 reviews

A hearty and comforting Italian Meatball Soup featuring tender homemade or store-bought meatballs simmered in a rich tomato and chicken broth base with pasta, spinach, and a creamy finish. Perfect for weeknight dinners, this flavorful soup combines classic Italian seasonings with wholesome ingredients for a satisfying meal that serves 8.

Ingredients

Meatballs

  • 1 recipe homemade meatballs or 1820 oz. bag frozen meatballs, thawed

Soup Base

  • 1 tablespoon olive oil
  • 1 yellow onion, diced
  • 6 cloves garlic, minced
  • 1 tablespoon Italian seasoning
  • 2 tablespoons tomato paste
  • 32 oz. chicken broth
  • 28 oz. can crushed tomatoes
  • 8 oz. (about 2 1/2 cups) uncooked rotini pasta
  • 2 cups baby spinach
  • 1/2 cup heavy cream
  • Kosher salt, to taste
  • Fresh cracked pepper, to taste

Garnish

  • Shaved Parmesan cheese
  • Freshly chopped parsley

Instructions

  1. Prepare Meatballs: Make your choice of meatballs—either homemade Italian meatballs, air fryer meatballs, or thawed (and optionally cooked) frozen meatballs following package instructions.
  2. Sauté Onions: Heat olive oil in a large pot over medium heat. Add diced onion along with salt and pepper. Cook for 6-8 minutes stirring occasionally until onions soften and start to caramelize, enhancing their sweetness.
  3. Add Garlic and Seasoning: Stir in minced garlic, Italian seasoning, tomato paste, and additional salt and pepper. Cook for about 1 minute while stirring frequently to toast the garlic and prepare the flavor base.
  4. Deglaze Pot: Add a few splashes of chicken broth to the pot, scraping the bottom with a spoon to loosen any browned bits for extra flavor.
  5. Add Remaining Ingredients: Pour in the rest of the chicken broth, crushed tomatoes, uncooked rotini pasta, and the cooked meatballs. Season again with salt and pepper.
  6. Simmer Soup: Bring the mixture to a simmer over medium-high heat. Then reduce heat to low, cover the pot, and let it simmer gently for 12-15 minutes until the pasta is cooked al dente.
  7. Finish Soup: Stir in baby spinach and heavy cream. Cook just until the spinach wilts and the soup is heated through, blending the creamy texture with fresh greens.
  8. Season & Garnish: Taste and adjust seasoning with salt and pepper as needed. Serve soup garnished with shaved Parmesan and freshly chopped parsley for a bright, flavorful finish.
  9. Enjoy & Review: If you loved this recipe, leave a 5-star rating and review to share your experience!

Notes

  • You can use frozen meatballs for convenience—just make sure to thaw or cook them per package directions before adding to the soup.
  • Adjust the amount of broth if you prefer a thinner or heartier soup consistency.
  • For a dairy-free version, substitute heavy cream with coconut cream or omit entirely.
  • Use freshly grated Parmesan for the best flavor and texture in garnish.
  • Leftovers store well in the refrigerator for up to 3 days and can be reheated gently on the stovetop.