If you enjoyed the soup, leave a 5-star rating and review! Recipe
There’s something undeniably comforting about a warm bowl of meatball soup that wraps you in cozy, soulful flavors. This Meatball Soup Recipe brings together tender homemade meatballs, a rich tomato and chicken broth base, and a touch of creaminess with spinach and freshly shaved Parmesan. It’s hearty but balanced, perfect for chilly evenings or whenever you need a hug in a bowl. If you enjoyed the soup, leave a 5-star rating and review! Your feedback means the world and helps others discover this delicious, soul-satisfying meal.

Ingredients You’ll Need
Gathering simple, wholesome ingredients is the secret to this dish’s irresistible charm. Each component plays a vital role whether it’s building the rich, savory broth, creating tender meatballs, or adding freshness and depth to every spoonful.
- Homemade meatballs: These are the heart of the soup, packed with flavor and protein to make the dish truly satisfying.
- Olive oil: For sautéing the onions and garlic, infusing the base with subtle richness.
- Yellow onion: Adds sweetness and depth when caramelized.
- Garlic cloves: Minced to bring a fragrant punch of aroma and taste.
- Italian seasoning: A blend of herbs that lifts and layers the classic Italian flavor profile.
- Tomato paste: Concentrated tomato goodness that deepens the broth’s color and umami.
- Chicken broth: The savory liquid that forms the hearty soup base.
- Crushed tomatoes: Adds texture and bright acidity to balance the creaminess.
- Uncooked rotini pasta: Spiral-shaped pasta that holds onto the broth beautifully.
- Baby spinach: For a fresh burst of green and a gentle, leafy texture.
- Heavy cream: Introduces silkiness and rounds out flavors with creamy richness.
- Kosher salt and fresh cracked pepper: To season perfectly throughout the cooking process.
- Shaved Parmesan and freshly chopped parsley: For garnish that adds savory brightness and a pop of color.
How to Make If you enjoyed the soup, leave a 5-star rating and review!
Step 1: Prepare the Meatballs
Start by making your homemade meatballs using your favorite recipe. The joy of this soup really begins here because well-seasoned, juicy meatballs are what make every bite special. If you prefer, you can use thawed frozen meatballs to save time without sacrificing flavor.
Step 2: Sauté the Onions
Heat olive oil in a large pot over medium heat, then add diced yellow onions. Sprinkle with kosher salt and fresh cracked pepper to help draw out moisture and encourage caramelization. Cook slowly until the onions turn golden and sweet — this step builds the flavorful foundation you’ll love.
Step 3: Add Flavors
Next, stir in the minced garlic and Italian seasoning, letting their aromas bloom in the warm oil. Add the tomato paste, stirring constantly for about a minute to awaken its deep, rich flavors. Season with a pinch of salt and pepper as you go.
Step 4: Deglaze the Pot
Pour in the chicken broth and use a wooden spoon to gently scrape up all those amazing browned bits stuck to the bottom of the pot. This step infuses the broth with intensified, caramelized flavors that take the soup from good to unforgettable.
Step 5: Add Remaining Ingredients and Simmer
Pour in the crushed tomatoes, add the uncooked rotini pasta and carefully nestle in the meatballs. Bring the soup to a gentle simmer, then cover and cook until the pasta is perfectly al dente. The pasta will soak up those delicious flavors, making each mouthful a perfect balance of texture and taste.
Step 6: Finish the Soup
Stir in fresh baby spinach and heavy cream to add a luscious finish. Cook just until the spinach wilts and the cream is warmed through. Taste and adjust seasoning with extra salt and pepper if needed. Ladle into bowls and don’t forget to garnish with shaved Parmesan and chopped parsley.
How to Serve If you enjoyed the soup, leave a 5-star rating and review!

Garnishes
A perfect bowl of meatball soup deserves thoughtful garnishes. The shaved Parmesan adds a nutty, salty pop while freshly chopped parsley brings brightness and a fresh herbal note. You can also offer crushed red pepper flakes for a little heat or a drizzle of good-quality olive oil for an extra layer of richness.
Side Dishes
Pair this soup with crusty bread or garlic knots to soak up every last drop of the flavorful broth. A simple green salad with lemon vinaigrette or a light antipasto platter would also complement the hearty nature of the soup without overwhelming it.
Creative Ways to Present
For a fun twist, serve the soup in mini bread bowls or hollowed-out sourdough rounds, making it a hit at casual gatherings. You can also turn it into a one-pot meal by baking it with a layer of mozzarella on top for a bubbly, golden crust before serving. If you enjoyed the soup, leave a 5-star rating and review to let us know how you served it!
Make Ahead and Storage
Storing Leftovers
This soup keeps beautifully in the refrigerator for up to three days in an airtight container. The flavors actually deepen after resting overnight, so it’s a fantastic make-ahead meal when you want dinner ready on busy nights.
Freezing
You can freeze this soup for up to three months. For best results, store the soup and pasta separately, as the pasta tends to soften too much when frozen with the broth. Freeze in airtight containers or heavy-duty freezer bags to preserve freshness.
Reheating
When reheating, warm the soup gently on the stove over medium-low heat, stirring occasionally. If frozen, thaw overnight in the fridge before reheating. Add a splash of water or broth to loosen the soup if it has thickened too much, and stir in a little fresh spinach or cheese if desired. If you enjoyed the soup, leave a 5-star rating and review to help others discover these tips.
FAQs
Can I use store-bought meatballs instead of homemade?
Absolutely! Store-bought or frozen meatballs work perfectly and save time. Just make sure they are fully thawed and pre-cooked before adding them to the soup.
What can I substitute for heavy cream if I want a lighter soup?
You can swap heavy cream with half-and-half or even coconut milk for a dairy-free version. Keep in mind the flavor and texture will be slightly different, but the soup will remain delicious.
Can I add other vegetables to this soup?
Definitely! Feel free to customize with your favorites like carrots, zucchini, or bell peppers. Just sauté the veggies with the onions or add them along with the broth and tomatoes for more layers of flavor and nutrition.
Is it possible to make this soup vegetarian?
Yes! Replace meatballs with plant-based alternatives or hearty beans, and substitute chicken broth with vegetable broth to keep it flavorful and satisfying.
How do I prevent the pasta from becoming mushy?
Cooking the pasta right in the soup means timing is key. Keep the lid on and simmer gently until the pasta is just al dente. For leftovers, it’s best to store pasta separately or add it fresh when reheating.
If you enjoyed the soup, leave a 5-star rating and review!
Thank you for cooking and sharing this delightful Meatball Soup Recipe with me! It warms my heart to know these flavors bring joy to your table. Don’t forget, if you enjoyed the soup, leave a 5-star rating and review to keep this delicious tradition alive and help fellow soup lovers discover it too. Happy cooking and happy slurping!
PrintIf you enjoyed the soup, leave a 5-star rating and review! Recipe
This hearty Meatball Soup combines savory homemade meatballs with a rich tomato-based broth, tender rotini pasta, and fresh spinach, all finished with a touch of creamy goodness and garnished with Parmesan and parsley. Perfect as a comforting meal on chilly days, this Italian-inspired soup offers a balanced blend of flavors and textures that will satisfy your cravings.
- Prep Time: 20 minutes
- Cook Time: 25 minutes
- Total Time: 45 minutes
- Yield: 6 servings 1x
- Category: Soup
- Method: Simmering and sautéing
- Cuisine: Italian
- Diet: Halal
Ingredients
For the Meatballs:
- 1 recipe of homemade meatballs (approximately 12–16 meatballs)
For the Soup:
- 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
- 2 cups baby spinach
- 1/2 cup heavy cream
- Kosher salt, to taste
- Fresh cracked pepper, to taste
- Shaved Parmesan, for garnish
- Freshly chopped parsley, for garnish
Instructions
- Prepare the Meatballs: Make the homemade meatballs according to your favorite recipe or use thawed frozen meatballs. Set aside.
- Sauté Onions: Heat olive oil in a large pot over medium heat. Add the diced yellow onion, season with a pinch of kosher salt and freshly cracked pepper, and sauté until caramelized and translucent, about 5-7 minutes.
- Add Flavors: Stir in the minced garlic, Italian seasoning, and tomato paste. Cook for about 1-2 minutes until fragrant, stirring continually to blend the flavors.
- Deglaze Pot: Pour in the chicken broth to deglaze the pot, making sure to scrape the bottom to release browned bits for extra depth of flavor.
- Add Remaining Ingredients: Add the crushed tomatoes, uncooked rotini pasta, and prepared meatballs into the pot. Stir to combine.
- Simmer: Bring the soup to a gentle simmer. Cover the pot and cook for 10-12 minutes or until the pasta is al dente and the meatballs are heated through.
- Finish Soup: Stir in the baby spinach and heavy cream. Cook for an additional 2-3 minutes until the spinach wilts and the soup is warmed through.
- Season and Serve: Taste the soup and adjust seasoning with additional salt and pepper if needed. Ladle into bowls, and garnish with shaved Parmesan and freshly chopped parsley. Serve immediately and enjoy!
Notes
- This soup is versatile and can be customized by adding your favorite vegetables such as zucchini or carrots, or herbs like basil or oregano.
- For a lighter version, substitute turkey meatballs and use low-fat or half-and-half cream instead of heavy cream.
- You can prepare the meatballs in advance and freeze them to save time on busy days.
- Leftover soup can be stored in an airtight container in the refrigerator for up to 3 days.
Nutrition
- Serving Size: 1 serving (about 1.5 cups)
- Calories: 425
- Sugar: 7g
- Sodium: 980mg
- Fat: 22g
- Saturated Fat: 9g
- Unsaturated Fat: 11g
- Trans Fat: 0g
- Carbohydrates: 35g
- Fiber: 4g
- Protein: 23g
- Cholesterol: 85mg
Keywords: Meatball Soup, Italian Meatball Soup, Comfort Food Recipe, Hearty Soup, Homemade Meatballs

