Meatball Soup Recipe
This hearty and comforting Meatball Soup combines tender homemade or store-bought meatballs simmered in a flavorful tomato broth with Italian seasoning, garlic, and onion. Rotini pasta and baby spinach add texture and nutrition, finished with a touch of heavy cream for a creamy twist, topped with shaved Parmesan and fresh parsley for a deliciously satisfying meal.
- Author: lucas
- Prep Time: 15 minutes
- Cook Time: 30 minutes
- Total Time: 45 minutes
- Yield: 6 servings 1x
- Category: Soup
- Method: Simmering
- Cuisine: Italian
- Diet: Low Salt
Meatballs
- 1 recipe homemade meatballs or 18–20 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. uncooked rotini pasta (about 2 1/2 cups)
- 2 cups baby spinach
- 1/2 cup heavy cream
- Kosher salt, to taste
- Fresh cracked pepper, to taste
Garnish
- Shaved Parmesan
- Freshly chopped parsley
- Prepare Meatballs: Make your preferred homemade Italian meatballs recipe, air fryer meatballs recipe, or thaw and cook an 18-20 oz. bag of frozen meatballs following package directions.
- Sauté Onion: Heat 1 tablespoon olive oil in a large pot over medium heat. Add diced yellow onion along with salt and freshly cracked pepper. Cook, stirring occasionally, for 6-8 minutes until the onions become slightly brown and caramelized.
- Add Aromatics and Seasoning: Stir in minced garlic, Italian seasoning, tomato paste, and additional salt and pepper. Cook while stirring frequently for 1 minute to develop flavors.
- Deglaze the Pot: Pour in a few splashes of chicken broth and use a spoon to scrape up any browned bits from the bottom of the pot to infuse the soup with rich flavor.
- Add Remaining Ingredients: Add the rest of the chicken broth, crushed tomatoes, uncooked rotini pasta, and the cooked meatballs to the pot. Season with salt and pepper to taste.
- Simmer Soup: Bring the soup to a simmer over medium-high heat, then reduce heat to low, cover, and let it simmer gently for 12-15 minutes or until pasta is cooked al dente.
- Add Spinach and Cream: Stir in the baby spinach and heavy cream until the spinach wilts and the soup is warmed through, blending the creamy texture evenly.
- Final Seasoning and Garnish: Taste and season with additional salt and pepper if needed. Serve hot garnished with shaved Parmesan and freshly chopped parsley.
- Enjoy and Review: If you enjoyed the recipe, leave a 5-star rating and review to share your feedback and help others discover this delicious soup.
Notes
- You can use store-bought frozen meatballs for convenience or make homemade meatballs for a fresher taste.
- Adjust salt and pepper as needed throughout the cooking process to suit your preference.
- Spinach can be substituted with kale or Swiss chard if desired.
- For a dairy-free version, omit the heavy cream or substitute with coconut cream or a plant-based cream alternative.
- Leftovers keep well refrigerated for up to 3 days and reheat nicely on the stove or microwave.
Nutrition
- Serving Size: 1.5 cups
- Calories: 320
- Sugar: 6g
- Sodium: 680mg
- Fat: 15g
- Saturated Fat: 6g
- Unsaturated Fat: 8g
- Trans Fat: 0g
- Carbohydrates: 25g
- Fiber: 3g
- Protein: 18g
- Cholesterol: 55mg
Keywords: Meatball soup, Italian meatball soup, tomato rotini soup, creamy meatball soup, easy meatball recipe, comforting soup