This comforting Italian meatball soup features tender beef meatballs simmered in a rich, savory tomato broth. It is a complete and satisfying meal that combines protein, vegetables, and pasta in one pot.

List of ingredients
- 450 g (1 lb) ground beef (at least 15% fat) – ensures the meatballs stay juicy.
- 2 medium garlic cloves, crushed – for the meatball mixture.
- 1/2 teaspoon dried oregano – adds classic herbal notes to the meat.
- 1/2 teaspoon dried basil – provides a sweet, aromatic flavor.
- 1/2 teaspoon dried sage – adds an earthy depth to the beef.
- 1/2 teaspoon dried parsley – enhances the savory profile.
- 1 medium egg – acts as a binder for the meatballs.
- 25g (1/3 cup) grated Parmesan – adds salty richness to the meat.
- 30 g (1 ounce) breadcrumbs – helps maintain a tender texture.
- 1/2 teaspoon salt – basic seasoning.
- 1/4 teaspoon ground black pepper – for a hint of spice.
- Oil spray – to prevent sticking on the baking sheet.
- 2 tablespoons olive oil – for sautéing the vegetables.
- 1 medium onion, diced – provides a sweet flavor base.
- 1 medium carrot, diced – adds sweetness and color.
- 2 celery stalks, diced – provides a savory, aromatic quality.
- 2 large garlic cloves, finely chopped – for the soup base.
- 1 x 400 g (14 oz) can crushed tomatoes – creates the thick broth.
- 1 litre (4 cups) beef stock – the foundation of the soup’s flavor.
- 1 tablespoon dried oregano – seasons the tomato broth.
- 150 g (1 1/2 cup) elbow pasta (or another type of short pasta) – adds heartiness.
- 2 tablespoons fresh parsley, chopped – for a fresh finish.
- 25g (1/3 cup) grated Parmesan, plus extra for serving – adds creamy saltiness.
- Salt and freshly ground black pepper to taste – final adjustments.
step-by-step instructions
- Prepare the Oven: Preheat your oven to 190 degrees C (375 degrees F) and coat a baking sheet with nonstick oil spray to prevent the meat from sticking.
- Mix the Meatballs: In a large bowl, combine the ground beef, crushed garlic, dried oregano, basil, sage, parsley, egg, Parmesan, breadcrumbs, salt, and pepper. Stir well until combined, adding a tiny dash of water if the mixture feels too dry.
- Bake the Meatballs: Use a spoon or scoop to form the mixture into 1 1/2 inch meatballs, making about 25-30 pieces. Arrange them on the baking sheet, spray them with oil, and bake for 15 minutes or until they are golden brown.
- Sauté the Vegetables: While the meatballs bake, heat olive oil in a large heavy pot or Dutch oven over medium heat. Add the diced onion, carrot, and celery, and sauté for 7-8 minutes until softened.
- Build the Broth: Stir in the chopped garlic and cook for one minute until fragrant. Add the crushed tomatoes, beef stock, and dried oregano, bring the mixture to a boil, then reduce heat and simmer for 10 minutes.
- Cook the Pasta: Add the elbow pasta to the simmering broth and cook for 10-12 minutes, or until the pasta reaches an al dente texture.
- Final Assembly: Transfer the oven-baked meatballs into the pot and stir in the fresh parsley and Parmesan. Season with salt and pepper to taste and serve immediately.
Expert Meatball Preparation
Select Ground Beef with 15 Percent Fat
Using beef with at least 15% fat is crucial for preventing dry meatballs. The fat renders during baking and simmering, which keeps the interior moist and succulent. Leaner beef often results in a rubbery texture when cooked twice.
Mix the Meat Gently
Avoid overworking the meat mixture when combining the ingredients. Overmixing can develop the proteins too much, leading to dense and tough meatballs. Stir just until the breadcrumbs and herbs are evenly distributed.
Maintain Consistent Ball Size
Use a small cookie scoop or a tablespoon to ensure all meatballs are roughly 1.5 inches in diameter. Consistent sizing ensures that every meatball cooks evenly in the oven. This prevents some from being overdone while others remain raw.
Bake for Structural Integrity
Baking the meatballs before adding them to the soup helps them hold their shape. Frying can be messy, and simmering raw meat can make the meatballs fall apart. Baking creates a light crust that locks in juices.
Use Freshly Grated Parmesan
Freshly grated Parmesan blends more smoothly into the meat than pre-shredded versions. Pre-shredded cheeses often contain anti-clumping agents that can affect the texture. Fresh cheese provides a cleaner, sharper salty flavor.
Optimizing the Tomato Broth
Sauté the Mirepoix Thoroughly
Taking the full 8 minutes to sauté the onion, carrot, and celery allows the vegetables to caramelize. This process releases natural sugars and creates a deeper flavor profile for the broth. Rushing this step results in a thinner, less complex taste.
Bloom the Garlic Carefully
Add the garlic only after the other vegetables have softened. Garlic burns quickly at high temperatures, which can introduce a bitter taste to the soup. One minute of sautéing is sufficient to release its aroma.
Simmer Tomatoes for Flavor Depth
Allowing the crushed tomatoes and beef stock to simmer for 10 minutes before adding pasta is essential. This time allows the acidity of the tomatoes to mellow and integrate with the stock. It creates a more cohesive and rounded broth.
Use High-Quality Beef Stock
The quality of your beef stock directly impacts the final taste of the soup. Low-sodium stock is recommended so you can control the salt levels yourself. A rich, concentrated stock provides the necessary backbone for the tomato base.
Balance the Acidity
If the broth tastes too acidic from the canned tomatoes, a slightly longer simmer can help. The slow reduction of the liquid concentrates the savory elements. This balances the tartness of the tomatoes without needing extra sugar.
Pasta Selection and Timing
Choose Short Pasta Shapes
Elbow pasta is ideal, but other small shapes like ditalini, anelli, or orzo also work well. Small pasta is easier to eat with a spoon and distributes evenly throughout the bowl. Avoid long noodles which can become cumbersome in a chunky soup.
Cook Pasta Al Dente
Remove the soup from heat as soon as the pasta is al dente. The pasta will continue to cook slightly in the hot broth even after serving. Overcooking the pasta in the pot leads to a mushy texture and a cloudy broth.
Manage Starch Release
Cooking the pasta directly in the broth thickens the soup naturally due to the released starches. This gives the soup a heartier, silkier mouthfeel. If you prefer a clear broth, cook the pasta separately and add it at the end.
Handling Pasta for Leftovers
If you plan to eat the soup over several days, consider cooking the pasta separately. Pasta absorbed liquid over time and can turn the soup into a thick stew in the fridge. Adding fresh pasta to reheated broth keeps the texture perfect.
Ingredient Substitutions
Plant-Based Meatball Alternatives
You can replace the beef meatballs with high-quality plant-based alternatives. Follow the packaging instructions for baking the plant-based meatballs before adding them to the broth. This makes the recipe suitable for those avoiding meat.
Gluten-Free Breadcrumb Options
Substitute traditional breadcrumbs with gluten-free breadcrumbs or almond meal. This ensures the meatballs maintain their structure without using wheat. The flavor remains virtually identical in the finished soup.
Replacing Beef Stock with Vegetable Broth
For a lighter flavor profile, substitute the beef stock with a rich vegetable broth. This reduces the heaviness of the soup while maintaining the savory essence. It is an excellent option for those preferring a non-beef base.
Alternative Cheese Options
If Parmesan is unavailable, Pecorino Romano is a great substitute. Pecorino is typically saltier and sharper, so you may want to reduce the additional salt in the recipe. Grana Padano is another mild alternative.
Storage and Reheating Guidelines
Proper Refrigeration Methods
Store leftover soup in an airtight container in the refrigerator for up to 3 days. Ensure the soup has cooled slightly before sealing the lid to prevent excessive condensation. This keeps the ingredients fresh and prevents spoilage.
Adding Liquid During Reheating
When reheating, you will notice the soup has thickened because the pasta absorbs the broth. Add a splash of beef stock or water to restore the original consistency. This prevents the soup from becoming too dry.
Freezing the Soup
If freezing, it is best to omit the pasta and freeze only the broth and meatballs. Cook fresh pasta when you are ready to eat the soup. Pasta typically loses its texture and becomes mushy after being frozen and thawed.
Microwave vs Stovetop Reheating
Reheating on the stovetop over low heat is the best method for even warming. If using a microwave, heat in short bursts and stir in between. This prevents the meatballs from overcooking in hot spots.
Serving and Pairing Ideas
Pairing with Crusty Bread
Serve the soup with a side of toasted garlic bread or a warm baguette. The crunchy texture of the bread complements the softness of the meatballs and pasta. It is also perfect for soaking up the remaining tomato broth.
Adding a Fresh Side Salad
A simple green salad with a lemon vinaigrette balances the richness of the soup. The acidity of the dressing cuts through the savory beef and cheese flavors. This creates a more balanced and complete meal.
Garnishing with Fresh Herbs
While parsley is included in the recipe, adding fresh basil leaves on top enhances the aroma. A sprinkle of fresh chives also adds a mild onion flavor. Fresh herbs provide a bright contrast to the cooked ingredients.
Using Toasted Croutons
Add a handful of homemade garlic croutons to each bowl just before serving. This adds an extra layer of texture and saltiness. Ensure they are added at the last second so they stay crispy.
Troubleshooting Common Results
Solving Watery Broth
If the broth feels too thin, simmer it for an additional 10 minutes without the lid. This reduces the water content and concentrates the flavors. You can also stir in a tablespoon of tomato paste for extra thickness.
Fixing Too-Salty Soup
If the soup becomes too salty, add a small amount of unsalted beef stock or water. You can also add a diced potato to the simmer, which can absorb some of the excess salt. Remove the potato before serving.
Correcting Meatball Texture
If your meatballs are too soft, increase the amount of breadcrumbs in the next batch. If they are too hard, ensure you are using beef with a higher fat percentage. Always avoid overmixing the meat.
Preventing Pasta Mushiness
If the pasta consistently becomes too soft, reduce the simmering time by two minutes. Start checking the pasta frequently toward the end of the cooking window. Remember that carry-over heat continues the cooking process.
Frequently Asked Questions
Can I use pre-made meatballs?
Yes, you can use high-quality store-bought Italian meatballs. However, you should still bake them for 10-12 minutes to brown the edges before adding them to the soup for better flavor.
Can I freeze the meatballs separately?
Yes, you can bake a large batch of meatballs and freeze them on a tray before bagging them. This allows you to make the soup quickly by simply adding frozen meatballs to the simmering broth.
What is the best pasta for this soup?
Small shapes like elbow, ditalini, or shells are best. They fit well on a spoon and don’t overwhelm the other components of the soup.
How do I make the soup creamier?
For a creamier texture, stir in a tablespoon of heavy cream or a dollop of mascarpone at the very end. This adds a luxurious richness that pairs well with the tomato and beef.
Print
Hearty Italian Meatball Soup
- Total Time: 1 hour
- Yield: 4 servings 1x
- Diet: General
Description
Hearty and full of flavour, this easy Italian meatball soup is the perfect comfort food for a chilly day. The rich tomato broth pairs beautifully with tender Italian-style meatballs to create an unforgettable soup the entire family will love.
Ingredients
- 450 g (1 lb) ground beef (at least 15% fat)
- 2 medium garlic cloves, crushed
- 1/2 teaspoon dried oregano
- 1/2 teaspoon dried basil
- 1/2 teaspoon dried sage
- 1/2 teaspoon dried parsley
- 1 medium egg
- 25g (1/3 cup) grated Parmesan
- 30 g (1 ounce) breadcrumbs
- 1/2 teaspoon salt
- 1/4 teaspoon ground black pepper
- Oil spray
- 2 tablespoons olive oil
- 1 medium onion, diced
- 1 medium carrot, diced
- 2 celery stalks, diced
- 2 large garlic cloves, finely chopped
- 1 x 400 g (14 oz) can crushed tomatoes
- 1 litre (4 cups) beef stock
- 1 tablespoon dried oregano
- 150 g (1 1/2 cup) elbow pasta (or another type of short pasta)
- 2 tablespoons fresh parsley, chopped
- 25g (1/3 cup) grated Parmesan, plus extra for serving
- Salt and freshly ground black pepper to taste
Instructions
- Step: Preheat the oven to 190 degrees C (375 degrees F). Coat a baking sheet with nonstick spray.
- Step: Add the ground beef, garlic, herbs, egg, Parmesan, breadcrumbs, and salt and pepper in a large bowl. Stir well to combine. Add a dash of water if needed.
- Step: Using a scoop or a spoon, shape the mixture into 1 1/2 inch meatballs. Arrange them on the prepared baking sheet. You should have a total of 25-30 meatballs. Spray the meatballs with oil spray and bake for 15 minutes or until golden brown.
- Step: Meanwhile, heat the olive oil in a large heavy pot or a Dutch oven and saute the onion, carrot, and celery for 7-8 minutes over medium heat.
- Step: Add the garlic and continue to cook for another minute until fragrant. Next, stir in the crushed tomatoes, beef stock, and oregano. Bring to a boil, then lower the heat and simmer for 10 minutes.
- Step: Add the pasta and continue to simmer for 10-12 minutes until al dente. Transfer the baked meatballs to the pot and stir in the fresh parsley and Parmesan.
- Step: Season to taste and serve on its own or with some crusty bread.
Notes
Store leftovers in an airtight container for up to 3 days in the fridge. The pasta will soak up liquid, so add more stock or water when reheating. You can use ditalini, Anelli, or orzo as pasta alternatives. Meatballs do not need to be fully cooked in the oven as they will finish in the soup.
- Prep Time: 15 minutes
- Cook Time: 45 minutes
- Category: Soups
- Method: Baking and Simmering
- Cuisine: Italian
Nutrition
- Serving Size: 1 serving
- Calories: 651 kcal
- Sugar: 8 g
- Sodium: 1474 mg
- Fat: 36 g
- Saturated Fat: 11 g
- Unsaturated Fat: 20 g
- Trans Fat: 1 g
- Carbohydrates: 35 g
- Fiber: 5 g
- Protein: 46 g
- Cholesterol: 153 mg
Keywords: Italian meatball soup, comfort food, tomato broth, hearty soup




