meatball soup

Posted on November 30, 2025

Modified: November 30, 2025

By Daniel
Overhead shot of a white bowl filled with hearty meatball soup, featuring four meatballs, chopped vegetables, and fresh herbs, with a spoon resting in it.

There’s a special kind of magic that happens in a simmering pot of soup, a warmth that seeps right into your bones on a chilly day. For me, that magic is perfectly captured in this Hearty Italian Meatball Soup. It’s a recipe that feels like coming home. I remember my grandmother’s kitchen, always filled with the rich, inviting aroma of simmering tomatoes, garlic, and herbs. This recipe is my personal homage to those cherished memories. It’s more than just a meal; it’s a hug in a bowl. The tender, juicy meatballs swimming in a savory broth dotted with pasta and fresh spinach—it’s a sensory experience that brings me right back to her table. Much like my simple but beloved ravioli soup, it has become my ultimate go-to for those evenings when only a truly satisfying meal will do.

You’re Going to Love This Recipe, Here’s Why

What I truly adore most about this recipe is its incredible return on investment. It delivers the kind of deep, slow-simmered flavor you’d expect from an all-day cooking project, yet it comes together in about an hour. With a prep time of just 25 minutes and a cook time of 35 minutes, it’s my secret weapon for busy weeknights when I’m craving something wholesome and impressive without the fuss. The meatballs are the undeniable star of the show. By using Panko breadcrumbs, Parmesan, and a touch of milk, they bake up incredibly light and tender, absorbing all the goodness from the broth. It’s a complete, one-pot meal that feels both rustic and nourishing. You get your protein, vegetables, and carbs all in one comforting bowl, which makes cleanup a breeze. It’s a recipe that proves you don’t have to choose between convenience and creating a meal filled with heart.

The Key Ingredients You’ll Need

For the most tender meatballs, I always use Panko breadcrumbs; they keep them light and moist. Good quality crushed tomatoes are essential for a rich, vibrant broth. They create a base that’s both simple and deeply flavorful, much like the foundation of my favorite garlic soup.

Overhead shot of a white bowl filled with hearty meatball soup, featuring four meatballs, chopped vegetables, and fresh herbs, with a spoon resting in it.
Daniel

Hearty Italian Meatball Soup

A comforting and savory soup packed with tender, juicy meatballs, fresh vegetables, and tiny pasta in a rich, herb-infused tomato broth. It's a complete one-pot meal perfect for a chilly evening.
Prep Time 25 minutes
Cook Time 35 minutes
Total Time 1 hour
Servings: 6 servings
Course: Main Course, Soup
Cuisine: American, Italian-American
Calories: 452

Ingredients
  

For the Meatballs
  • 1 lb ground beef 85/15 lean to fat ratio recommended
  • 1/2 cup Panko breadcrumbs
  • 1/4 cup grated Parmesan cheese
  • 1/4 cup milk any kind
  • 1 large egg lightly beaten
  • 2 cloves garlic minced
  • 1 tsp dried oregano
  • 1/2 tsp salt
  • 1/4 tsp black pepper freshly ground
For the Soup
  • 1 tbsp olive oil
  • 1 large yellow onion chopped
  • 2 medium carrots diced
  • 2 stalks celery diced
  • 3 cloves garlic minced
  • 1 (28 oz) can crushed tomatoes
  • 6 cups beef broth low-sodium preferred
  • 1 tsp dried oregano
  • 1/2 tsp dried basil
  • 1 bay leaf
  • 1/2 cup small pasta such as ditalini, orzo, or acini di pepe
  • 2 cups fresh spinach roughly chopped
  • Salt and black pepper to taste
  • Fresh parsley and grated Parmesan cheese for garnish

Equipment

  • Large pot or Dutch oven
  • Large Mixing Bowl
  • Optional: Air Fryer or Large Skillet

Method
 

Prepare and Cook the Meatballs
  1. In a large mixing bowl, add the ground beef, Panko breadcrumbs, Parmesan cheese, milk, beaten egg, 2 cloves of minced garlic, 1 tsp dried oregano, salt, and pepper.
  2. Gently mix with your hands until just combined. Be careful not to overmix, as this can make the meatballs tough. Roll the mixture into uniform, 1-inch meatballs (this should yield about 24-28).
  3. Cook the meatballs using one of the following methods: Air Fryer Method (Recommended): Arrange the meatballs in a single layer in the air fryer basket. Cook at 400°F (200°C) for 8-10 minutes, until browned and cooked through. Skillet Method: Heat 1 tbsp of olive oil in a large skillet over medium-high heat. Add the meatballs in a single layer (work in batches if necessary) and brown on all sides, about 5-7 minutes total. They do not need to be fully cooked inside. Set the browned meatballs aside.
Assemble the Soup
  1. In a large pot or Dutch oven, heat 1 tbsp of olive oil over medium heat. Add the chopped onion, carrots, and celery. Sauté for 5-7 minutes, stirring occasionally, until the vegetables have softened.
  2. Add the 3 cloves of minced garlic and cook for 1 minute more, until fragrant.
  3. Pour in the crushed tomatoes, beef broth, 1 tsp dried oregano, dried basil, and the bay leaf. Season with a pinch of salt and pepper. Stir everything together.
  4. Bring the soup to a boil, then reduce the heat to low, cover, and let it simmer for at least 15 minutes to allow the flavors to meld.
  5. Stir in the uncooked small pasta and the cooked meatballs. Increase heat to maintain a gentle simmer and cook for 10-12 minutes, or until the pasta is al dente and the meatballs are heated through.
  6. Remove the pot from the heat and discard the bay leaf. Stir in the fresh spinach until it wilts, which should only take about 1-2 minutes.
  7. Taste the soup and adjust the seasoning with more salt and pepper if needed. Ladle into bowls and serve hot, garnished with fresh parsley and extra grated Parmesan cheese.

Notes

Make-Ahead Tip: The meatballs can be fully cooked ahead of time and stored in the refrigerator for up to 2 days before you make the soup.
Freezing Instructions: This soup freezes beautifully. Allow it to cool completely before transferring to freezer-safe containers for up to 3 months. For the best texture, consider freezing the soup base without the pasta and adding freshly cooked pasta when you reheat and serve.
Variations: For even more flavor, use a mix of ground beef and ground pork. You can also add other vegetables like diced zucchini or bell peppers along with the mirepoix.

How I Make Hearty Italian Meatball Soup Step-by-Step

Bringing this soup to life is one of my favorite kitchen rituals. I always start by gently mixing the meatball ingredients—my best advice is to use your hands and don’t overwork the meat to keep them tender. I then brown them in a little olive oil right in my soup pot, which creates a beautiful crust and leaves behind flavorful bits that become the foundation of the soup. Once the meatballs are set aside, I use that same pot to sauté the onion, carrots, and celery. After they’ve softened, I toss in the garlic and herbs for a minute until they’re fragrant. The process reminds me of my classic Italian Wedding Soup, where building layers of flavor is key. From there, I pour in the broth and tomatoes, scraping up all those delicious browned bits, and let everything simmer. The pasta and spinach go in at the end, so the pasta cooks perfectly and the spinach just wilts.

My Tips for the Perfect Outcome

  • Use 80/20 ground beef for the most moist and flavorful meatballs.
  • Don’t overcrowd the pan when browning them; work in batches if you need to.
  • Toast the dried herbs with the vegetables to release their aroma.
  • Add the spinach at the very end so it just wilts and stays vibrant.

How I Serve and Store This Dish

I love serving this soup piping hot with a generous sprinkle of fresh parsley, extra Parmesan, and a side of crusty bread for dipping. For leftovers, I store it in an airtight container in the fridge for up to 4 days. The pasta will soften a bit, but it reheats beautifully on the stove or in the microwave, just like my favorite stuffed pepper soup.

Frequently Asked Questions

Can I make the meatballs ahead of time?

Absolutely! I often prepare the meatballs a day in advance and store them in the fridge. You can also freeze them raw on a baking sheet before transferring them to a bag. This makes assembly on a busy weeknight even faster.

Can I use a different type of pasta?

Of course. I love using small pasta shapes like ditalini or small shells, but any small cut will work wonderfully. Just be sure to adjust the cooking time according to the package directions so it becomes perfectly tender in the broth.

Is it possible to make this soup gluten-free?

Yes, it’s quite simple to adapt. Just substitute the Panko breadcrumbs with your favorite gluten-free breadcrumbs and choose a gluten-free small pasta. The rest of the ingredients are naturally gluten-free, making it an easy and delicious switch for everyone to enjoy.

Can I add other vegetables to this soup?

Definitely! This soup is very forgiving and a great way to use up produce. I sometimes add chopped zucchini or diced potatoes along with the carrots and celery. Just be sure to cut them into small, uniform pieces so they cook evenly.

Conclusion

This Hearty Italian Meatball Soup is pure comfort in my kitchen, and I’m so excited to share it with you. I hope it fills your home with warmth and becomes a new favorite. If you give it a try, please let me know in the comments below!

You might also like these recipes

Leave a Comment

Recipe Rating