This Italian Meatball Soup is a comforting one-pot meal with tender meatballs, savory broth, and vegetables. It’s hearty yet balanced, perfect for weeknights or feeding a crowd. The aroma alone makes this rustic soup a family favorite.
Looking for Italian Meatball Soup inspiration? You'll love what we have! Explore more Soup Recipes recipes or discover our Chicken Breast Recipes favorites.
Why You’ll Love This Italian Meatball Soup
- Cozy & nourishing: A soul-warming bowl that feels like a hug.
- One-pot wonder: Fewer dishes and layers of flavor.
- Flexible ingredients: Swap veggies based on season or preference.
- Great leftovers: Flavors deepen overnight for even better taste.
Ingredients & Tools
For the meatballs:
- 450 g ground beef (80/20 blend works best)
- 100 g breadcrumbs
- 50 g grated Parmesan cheese
- 1 large egg
- 2 cloves garlic, minced
- 2 tbsp fresh parsley, finely chopped
- 1 tsp dried oregano
- ½ tsp salt
- ¼ tsp black pepper
For the soup:
- 1 tbsp olive oil
- 1 medium onion, diced
- 2 carrots, peeled and sliced
- 2 stalks celery, chopped
- 3 cloves garlic, minced
- 1.5 L beef or chicken broth
- 400 g canned crushed tomatoes
- 1 tsp dried basil
- 1 bay leaf
- 100 g small pasta (like ditalini or orzo)
- 100 g chopped kale or spinach
- Salt and pepper to taste
- Extra Parmesan for serving
Tools: A large Dutch oven or heavy-bottomed soup pot, a mixing bowl, and a wooden spoon.
Notes: The quality of your broth and Parmesan really makes a difference here—they form the backbone of the soup’s flavor, so don’t skimp! A little goes a long way.
Nutrition (per serving)
| Calories: | 380 kcal |
| Protein: | 24 g |
| Fat: | 14 g |
| Carbs: | 38 g |
| Fiber: | 5 g |
Serves: 6 | Prep Time: 20 minutes | Cook Time: 35 minutes | Total Time: 55 minutes
Before You Start: Tips & Ingredient Notes
- Why use a mix of beef for the meatballs? An 80/20 blend gives you the perfect balance of flavor and tenderness. Too lean, and the meatballs can become dry; too fatty, and they might fall apart in the broth.
- Can I make the meatballs ahead of time? Absolutely! You can shape them and keep them covered in the fridge for up to a day. This actually helps them firm up, making browning even easier.
- What’s the best pasta to use? Small shapes like ditalini, orzo, or even small shells work beautifully—they cook quickly and fit perfectly on your spoon alongside the meatballs and veggies.
- Is fresh herbs a must? For the meatballs, fresh parsley really lifts the flavor, but if you’re in a pinch, dried will do. For the soup itself, dried herbs hold up well during simmering.
How to Make Italian Meatball Soup
Step 1: In a large mixing bowl, combine the ground beef, breadcrumbs, grated Parmesan, egg, minced garlic, parsley, oregano, salt, and pepper. Use your hands to mix everything gently—you don’t want to overwork the meat, or the meatballs can become tough. Once combined, shape the mixture into small, bite-sized meatballs, about 3 cm in diameter. You should get around 20–24 meatballs. Place them on a plate or tray as you go.
Step 2: Heat the olive oil in your Dutch oven or soup pot over medium heat. Working in batches to avoid crowding, add the meatballs and brown them on all sides—this should take about 4–5 minutes per batch. You’re not cooking them through entirely here, just building a nice, flavorful crust. Remove the meatballs with a slotted spoon and set them aside on a clean plate.
Step 3: In the same pot, you’ll notice those lovely browned bits at the bottom—that’s flavor gold! Add the diced onion, carrots, and celery. Sauté for about 5–6 minutes, until the vegetables start to soften and the onion becomes translucent. Stir in the minced garlic and cook for another minute until fragrant, being careful not to let it burn.
Step 4: Pour in the broth and crushed tomatoes, then add the dried basil and bay leaf. Give everything a good stir, scraping the bottom of the pot to lift all those delicious browned bits. Bring the soup to a gentle boil, then reduce the heat to a simmer. Let it cook for about 10 minutes to allow the flavors to start melding together.
Step 5: Carefully add the browned meatballs back into the pot. Let the soup simmer for another 10 minutes—the meatballs will finish cooking through and become wonderfully tender. You’ll notice the broth deepening in color and aroma as they simmer.
Step 6: Stir in the small pasta and cook according to package directions, usually about 8–10 minutes, until al dente. The trick is to keep an eye on the pasta—you don’t want it to become mushy. About 2 minutes before the pasta is done, add the chopped kale or spinach and stir until wilted.
Step 7: Remove the bay leaf and discard it. Taste the soup and adjust seasoning with salt and pepper as needed. The soup should be richly flavored, with the meatballs tender and the vegetables perfectly cooked. Ladle into bowls and top with a generous sprinkle of extra Parmesan cheese. Serve immediately while hot and steaming.
Storage & Freshness Guide
- Fridge: Cool completely and store in an airtight container for up to 3 days.
- Freezer: Freeze without pasta for up to 3 months; add fresh pasta when reheating.
- Reviving: Reheat gently on the stove, adding broth if too thick after storage.
Serving Suggestions
Complementary Dishes
- Garlic bread — There’s nothing better for dipping into that savory broth than crispy, buttery garlic bread. It soaks up every last drop and adds a wonderful textural contrast.
- Simple green salad with lemon vinaigrette — The bright, acidic notes of the salad help cut through the richness of the soup, making the whole meal feel balanced and fresh.
- Roasted asparagus — A side of tender, slightly charred asparagus adds a lovely vegetable-forward element that complements the heartiness of the soup beautifully.
Drinks
- Chianti or Sangiovese — A medium-bodied Italian red wine mirrors the tomato and herb notes in the soup and stands up nicely to the savory meatballs.
- Sparkling water with lemon — For a non-alcoholic option, the effervescence and citrus cleanse the palate between bites, keeping each spoonful tasting vibrant.
- Light Italian lager — A crisp, clean beer won’t overpower the soup’s flavors and provides a refreshing counterpoint to the rich broth.
Something Sweet
- Tiramisu — The coffee-soaked layers and creamy mascarpone are a classic Italian finish that feels indulgent yet light enough after a hearty soup.
- Lemon sorbet — A scoop of bright, tangy sorbet is incredibly refreshing and acts as a palate cleanser, leaving you feeling satisfied but not overly full.
- Almond biscotti — Crunchy, not-too-sweet biscotti are perfect for dipping into a post-meal espresso while still echoing the Italian theme.
Top Mistakes to Avoid
- Overmixing the meatball mixture. This can make the meatballs dense and tough. Mix just until combined—a few streaks are totally fine.
- Crowding the pot when browning the meatballs. If you add too many at once, they’ll steam instead of brown, and you’ll miss out on that deep, caramelized flavor.
- Overcooking the pasta in the soup. Remember, it will continue to soften in the hot broth even after you turn off the heat. Aim for al dente to avoid mushy pasta.
- Skipping the deglazing step. Those browned bits at the bottom of the pot are packed with flavor—make sure to scrape them up when you add the liquid!
Expert Tips
- Tip: Chill the shaped meatballs for 15 minutes before browning. This helps them hold their shape better and prevents them from falling apart in the pot.
- Tip: If you prefer a clearer broth, you can bake the meatballs instead of browning them. Arrange on a parchment-lined baking sheet and bake at 200°C for 15 minutes, then add to the soup.
- Tip: For a richer, deeper flavor, use half beef broth and half chicken broth. The combination adds complexity without being overpowering.
- Tip: If making ahead, cook the pasta separately and add it just before serving. This prevents it from absorbing all the broth and becoming bloated.
- Tip: A splash of balsamic vinegar stirred in at the end can brighten the entire soup and enhance the tomato flavor—start with a teaspoon and adjust to taste.
FAQs
Can I use a different type of meat for the meatballs?
Absolutely! A mix of beef and pork is classic, but you could use all pork, turkey, or even chicken. Just keep in mind that leaner meats like turkey might benefit from a tablespoon of olive oil mixed into the meatball ingredients to keep them moist. The cooking time remains roughly the same, but always check that the internal temperature reaches 74°C for safety.
How can I make this soup gluten-free?
Easy swaps will get you there. Use gluten-free breadcrumbs or rolled oats blitzed in a food processor for the meatballs. For the soup, choose a gluten-free small pasta like quinoa or rice-based shells, and double-check that your broth is certified gluten-free. The result is just as comforting and delicious.
Can I freeze Italian Meatball Soup?
You can, but with one caveat—the pasta may become soft and mushy upon reheating. For best results, freeze the soup without the pasta. When ready to serve, thaw, reheat, and cook fresh pasta to add in. The meatballs and broth freeze beautifully for up to 3 months.
My soup seems too thick. How can I thin it out?
No worries—just add a bit more broth or even water until it reaches your desired consistency. Remember, the pasta will absorb liquid as it sits, so you might need to adjust again when reheating leftovers. If it’s too thin, let it simmer uncovered for a few extra minutes to reduce.
What can I use if I don’t have breadcrumbs?
Panko, crushed crackers, or even rolled oats pulsed in a food processor work well. In a real pinch, you can use cooked rice or quinoa—they’ll act as a binder, though the texture will be a bit different. The goal is just to help the meatballs hold their shape.
Italian Meatball Soup
Make this easy Italian Meatball Soup recipe for a comforting one-pot meal. Tender meatballs, savory broth, and veggies in under an hour. Get the recipe now!
Ingredients
For the meatballs:
-
450 g ground beef (80/20 blend works best)
-
100 g breadcrumbs
-
50 g grated Parmesan cheese
-
1 large egg
-
2 cloves garlic (minced)
-
2 tbsp fresh parsley (finely chopped)
-
1 tsp dried oregano
-
0.5 tsp salt
-
0.25 tsp black pepper
For the soup:
-
1 tbsp olive oil
-
1 medium onion (diced)
-
2 carrots (peeled and sliced)
-
2 stalks celery (chopped)
-
3 cloves garlic (minced)
-
1.5 L beef or chicken broth
-
400 g canned crushed tomatoes
-
1 tsp dried basil
-
1 bay leaf
-
100 g small pasta (like ditalini or orzo)
-
100 g chopped kale or spinach
-
Salt and pepper (to taste)
-
Extra Parmesan (for serving)
Instructions
-
In a large mixing bowl, combine the ground beef, breadcrumbs, grated Parmesan, egg, minced garlic, parsley, oregano, salt, and pepper. Use your hands to mix everything gently—you don’t want to overwork the meat, or the meatballs can become tough. Once combined, shape the mixture into small, bite-sized meatballs, about 3 cm in diameter. You should get around 20–24 meatballs. Place them on a plate or tray as you go.01
-
Heat the olive oil in your Dutch oven or soup pot over medium heat. Working in batches to avoid crowding, add the meatballs and brown them on all sides—this should take about 4–5 minutes per batch. You’re not cooking them through entirely here, just building a nice, flavorful crust. Remove the meatballs with a slotted spoon and set them aside on a clean plate.02
-
In the same pot, you’ll notice those lovely browned bits at the bottom—that’s flavor gold! Add the diced onion, carrots, and celery. Sauté for about 5–6 minutes, until the vegetables start to soften and the onion becomes translucent. Stir in the minced garlic and cook for another minute until fragrant, being careful not to let it burn.03
-
Pour in the broth and crushed tomatoes, then add the dried basil and bay leaf. Give everything a good stir, scraping the bottom of the pot to lift all those delicious browned bits. Bring the soup to a gentle boil, then reduce the heat to a simmer. Let it cook for about 10 minutes to allow the flavors to start melding together.04
-
Carefully add the browned meatballs back into the pot. Let the soup simmer for another 10 minutes—the meatballs will finish cooking through and become wonderfully tender. You’ll notice the broth deepening in color and aroma as they simmer.05
-
Stir in the small pasta and cook according to package directions, usually about 8–10 minutes, until al dente. The trick is to keep an eye on the pasta—you don’t want it to become mushy. About 2 minutes before the pasta is done, add the chopped kale or spinach and stir until wilted.06
-
Remove the bay leaf and discard it. Taste the soup and adjust seasoning with salt and pepper as needed. The soup should be richly flavored, with the meatballs tender and the vegetables perfectly cooked. Ladle into bowls and top with a generous sprinkle of extra Parmesan cheese. Serve immediately while hot and steaming.07
Not what you're looking for?



