Meatball Soup Recipe
This hearty and comforting Meatball Soup combines savory homemade or store-bought meatballs with a rich tomato broth, tender rotini pasta, and fresh baby spinach, finished with a touch of cream and a garnish of shaved Parmesan and parsley. Perfect for a cozy meal that’s both filling and flavorful.
- Author: Victoria
- Prep Time: 20 minutes
- Cook Time: 30 minutes
- Total Time: 50 minutes
- Yield: 6 servings 1x
- Category: Soup
- Method: Simmering/Sautéing
- Cuisine: Italian-American
- Diet: Low Salt
Meatballs
- 1 recipe of homemade meatballs or 18–20 oz. bag of 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
- Prepare the Meatballs: Use your favorite homemade Italian meatballs recipe, air fryer meatballs, or thaw a 18-20 oz. bag of frozen meatballs overnight in the refrigerator or cook according to package instructions.
- Sauté Onions: Heat 1 tablespoon of olive oil in a large pot over medium heat. Add the diced yellow onion along with a couple large pinches of kosher salt and freshly cracked black pepper. Cook, stirring occasionally, for 6-8 minutes until the onions begin to brown and caramelize, enhancing their natural sweetness.
- Add Garlic and Seasoning: Stir in the minced garlic, Italian seasoning, tomato paste, and additional salt and pepper. Cook while stirring frequently for about 1 minute until fragrant and combined.
- Deglaze the Pot: Pour in a few splashes of chicken broth to loosen and scrape up all the flavorful browned bits stuck to the bottom of the pot, stirring well.
- Add Remaining Ingredients: Pour in the rest of the 32 oz. chicken broth, canned crushed tomatoes, uncooked rotini pasta, and the cooked meatballs. Season with more salt and pepper to taste.
- Simmer the Soup: Bring the soup to a simmer over medium-high heat. Once simmering, reduce heat to low, cover the pot, and let it cook gently for 12-15 minutes until the pasta is cooked al dente.
- Finish with Spinach and Cream: Stir in the baby spinach and heavy cream until the spinach wilts and the soup is heated through, creating a creamy texture and a fresh veggie boost.
- Adjust Seasoning and Garnish: Taste the soup and adjust seasoning with additional salt and pepper if necessary. Serve garnished with shaved Parmesan cheese and freshly chopped parsley for an extra layer of flavor and color.
- Enjoy and Share: Serve hot and enjoy! If you love this recipe, please leave a 5-star rating and review.
Notes
- If preferred, substitute the rotini pasta with any small pasta shape like elbow macaroni or ditalini.
- For a lighter soup, use half-and-half instead of heavy cream or omit the cream entirely.
- Leftovers store well in the refrigerator for up to 3 days; reheat gently to avoid overcooking the pasta.
- For a spicier version, add a pinch of red pepper flakes when cooking the garlic and tomato paste.
- You can make this soup gluten-free by using gluten-free pasta and gluten-free meatballs.
Nutrition
- Serving Size: 1.5 cups
- Calories: 350 kcal
- Sugar: 6 g
- Sodium: 700 mg
- Fat: 18 g
- Saturated Fat: 7 g
- Unsaturated Fat: 9 g
- Trans Fat: 0 g
- Carbohydrates: 26 g
- Fiber: 3 g
- Protein: 18 g
- Cholesterol: 55 mg
Keywords: meatball soup, Italian soup, rotini pasta soup, comforting soup, easy meatball recipe, creamy tomato soup, dinner soup