This post may contain affiliate links. Please read our disclosure policy.
One-Pot Creamy Meatball and Shells Soup
I grew up with Sunday spaghetti and meatballs, so meatballs in a pot of tomato sauce will always feel like home to me. My One-Pot Creamy Meatball and Shells Soup takes those familiar flavors in a cozy direction, with little shells catching the creamy Parmesan broth in every spoonful. And yes, I’m using frozen meatballs and jarred marinara, because a comforting dinner can absolutely start with a few shortcuts! Don’t let anyone tell you otherwise. 🙂
There’s a stretch between school pickup and practice where both kids need something, I’m watching the clock, and somehow dinner still needs to be done! That’s the night this soup is made for. A little chopping, a few things from the pantry and freezer, and everything cooks in the same pot, including the pasta because I’ve got enough going on; I don’t need to babysit dinner, too!


As an Amazon Associate, I earn from qualifying purchases.
Equipment
- 1 Large Dutch Oven or soup pot
Ingredients
- 2 tablespoons olive oil
- 2 celery ribs diced
- 2 carrots diced
- 1 small white or yellow onion diced
- 5 garlic cloves minced
- 1 24-ounce jar marinara sauce
- 5 cups chicken broth plus more as needed
- 1 teaspoon salt or to taste
- 1 teaspoon chicken bouillon powder
- ½ teaspoon onion powder
- ½ teaspoon garlic powder
- ½ teaspoon black pepper
- 1/4 tps red pepper flakes optional
- Rind of parmesan cheese optional
- 10 –12 frozen fully cooked meatballs fully cooked meatballs
- 8 ounces uncooked small pasta such as shells
- 1 cup freshly grated Parmesan cheese plus more for serving
- 1 cup heavy cream
- 2 large handfuls fresh spinach chopped
Instructions
- Soften the vegetables. Heat the olive oil in a large Dutch oven or stockpot over medium heat. Add the celery, carrots, onion, and a pinch of the measured salt. Sauté for 7–10 minutes, stirring occasionally, until softened. Add the garlic and cook for 30 seconds.
- Build the broth. Stir in the marinara sauce, chicken broth, chicken bouillon, onion powder, garlic powder, red pepper flakes (is using), pepper, and remaining salt, to taste. Add parmesan cheese rind (if using) Bring to a boil over medium-high heat.
- Cook the meatballs and pasta. Add the frozen meatballs and uncooked pasta. Reduce the heat to maintain a steady simmer and cook, stirring frequently, until the pasta is just tender and the meatballs are heated through, about 10–12 minutes. Check the meatball package directions; if they need longer, give them a head start before adding the pasta.
- Make it creamy. Reduce the heat to low and stir in the heavy cream and spinach. Cook gently for 2–3 minutes, until the spinach wilts. Turn off the heat and gradually stir in the Parmesan until melted.
- Finish and serve. Taste and adjust the seasoning. If the soup is too thick, add a splash of broth. Ladle into bowls and top with extra Parmesan. Enjoy!
Nutrition
If you make this recipe, I’d love to see it! Tag me on Instagram @thecookingmawma and let me know what you think. My kids ate two bowls each! I hope your family loves it, too.
Tips for Making This Recipe
- Give the vegetables a little time. Let the carrots, celery, and onion soften before adding the broth. The carrots should be starting to turn tender. You don’t want crunchy pieces competing with those soft shells and meatballs.
- Making it ahead? Hold the pasta. Prepare the soup through the broth and meatball stage, then cook the shells in it when you’re ready to serve. Finish with the cream, spinach, and Parmesan so the pasta doesn’t soak up all that broth while it sits.
- Check your meatball package before adding the shells. Some frozen meatballs take longer to heat through than the pasta takes to cook. Give them a head start if needed, so you’re not left with mushy shells while you wait on the meatballs.
Frequently Asked Questions
Can I use homemade meatballs instead of frozen?
Can I use a different pasta shape?
How do I keep leftovers from getting too thick?
Never Run Out of Dinner Ideas
One new family-favorite dinner in your inbox each week, made with love.
My 5 Most-Loved Pastas, yours when you join
A perfect soup for a dreary day. The flavors came together perfectly! I did not have frozen meatballs so I had to substitute with ground beef. I baked some fresh French bread to dunk! It was delicious. My very picky husband loved it!
LOVE IT <3 thank you!!!!
So delicious. My kids LOVED it. I hope your family does, too!