This Italian Meatball Soup is a cozy dish full of flavor! With juicy meatballs, tender veggies, and a tasty broth, it’s like a warm hug in a bowl.
Honestly, who can resist a meal that’s both hearty and comforting? I love to serve it with some crusty bread for dipping—yum!
This soup is super easy to whip up on a chilly day. Just toss everything together, let it simmer, and enjoy a delicious bowl that feels like home!
Key Ingredients & Substitutions
Ground Beef: A classic choice! You can also use a mix of beef and pork for added flavor. For a lighter option, ground turkey or chicken works well too, just keep an eye on cooking time as many are leaner.
Breadcrumbs: Plain breadcrumbs are great for meatballs, but you could use panko for extra crunch or gluten-free breadcrumbs for a gluten-free version. I find Italian seasoned breadcrumbs add extra flavor without needing additional spices.
Diced Tomatoes: Canned diced tomatoes are usually my go-to, but you can substitute crushed tomatoes or fresh tomatoes in season for a different texture and taste. Just adjust the cooking time slightly if using fresh.
Pasta: Small pasta is perfect for this soup. While elbow macaroni or ditalini are my favorites, you can use any small-shaped pasta like orzo or even gluten-free pasta if needed. Just make sure to follow cooking times according to the package!
Spinach: Fresh spinach is great, but feel free to swap in kale or Swiss chard. If you use kale, just cook it a bit longer until softened. Frozen spinach is a good alternative—just make sure to thaw and drain it first.
How Do I Make Sure My Meatballs Stay Tender?
It’s crucial to keep meatballs fluffy and tender! Here are some tips to help you achieve that:
- Don’t overmix the meatball mixture; mix just until combined.
- Add moisture with an egg, and consider soaking the breadcrumbs in milk before mixing.
- Form meatballs gently without compacting them too tightly.
- Simmer gently instead of boiling to avoid toughening the meatballs.
With these tips, your meatballs will turn out tender and delicious!

Italian Meatball Soup Recipe
Ingredients You’ll Need:
For the Meatballs:
- 1 lb ground beef (or a mix of beef and pork)
- 1/4 cup breadcrumbs
- 1/4 cup grated Parmesan cheese
- 1 large egg
- 2 cloves garlic, minced
- 2 tbsp fresh parsley, chopped (plus more for garnish)
- 1 tsp dried Italian seasoning
- Salt and pepper to taste
For the Soup:
- 1 tbsp olive oil
- 1 small onion, finely chopped
- 2 cloves garlic, minced
- 4 cups beef or chicken broth
- 1 can (14 oz) diced tomatoes
- 1 cup small pasta (like elbow macaroni or ditalini)
- 2 cups fresh spinach, chopped
- Salt and pepper to taste
- Extra Parmesan cheese for topping (optional)
- Crusty bread for serving (optional)
How Much Time Will You Need?
This delightful Italian Meatball Soup requires about 20 minutes of preparation time and around 30 minutes to cook. In total, you’re looking at around 50 minutes from start to finish—perfect for a cozy dinner!
Step-by-Step Instructions:
1. Prepare the Meatballs:
In a large mixing bowl, combine the ground beef, breadcrumbs, grated Parmesan cheese, egg, minced garlic, chopped parsley, Italian seasoning, and a pinch of salt and pepper. Use your hands to mix everything gently until just combined—don’t overdo it! Form the mixture into small meatballs, about 1 inch in diameter, and set them aside on a plate.
2. Cook the Aromatics:
In a large pot, heat the olive oil over medium heat. Add the finely chopped onion and sauté for about 4-5 minutes, or until it becomes soft and translucent. Follow this with the minced garlic and sauté for an additional minute until it becomes fragrant—that’s where the magic begins!
3. Make the Soup Base:
Pour the broth into the pot, followed by the can of diced tomatoes, juice and all. Bring everything to a boil—just wait, it will smell amazing!
4. Add the Meatballs:
Once boiling, carefully add your meatballs to the pot. Reduce the heat and let the soup simmer uncovered for about 15 minutes. The meatballs should be fully cooked and tender by the time this is done.
5. Cook the Pasta:
Add your small pasta to the pot and cook according to the package instructions, usually about 7-9 minutes, until it reaches al dente. Stir occasionally to prevent sticking.
6. Final Touches:
Once the pasta is cooked, stir in the chopped spinach and let it cook for about 2 minutes until it’s wilted. Give the soup a taste and adjust the seasoning with more salt and pepper if needed.
7. Serve and Enjoy:
Ladle the hot soup into bowls, garnishing with extra chopped parsley and grated Parmesan cheese if you like. Serve it warm alongside some crusty bread for dipping—enjoy your homemade Italian Meatball Soup!

Can I Use Frozen Meatballs for This Soup?
Absolutely! If you’re short on time, you can use frozen meatballs. Just add them to the broth directly and let them simmer for about 20-25 minutes to fully cook through.
What Pasta Can I Substitute?
You can use any small pasta shape like orzo, shells, or even broken-up spaghetti! Just be sure to adjust the cooking time according to the package instructions of the pasta you choose.
Can I Make This Soup Ahead of Time?
Yes! This soup can be made a day in advance. Just store it in the fridge. When reheating, you may want to add a splash more broth as the pasta can absorb liquid over time.
How Do I Store Leftovers?
Store any leftovers in an airtight container in the fridge for up to 3 days. You can also freeze the soup in a freezer-safe container for up to 3 months. Just make sure to cool it completely before freezing!


