Italian Meatball Soup

A comforting, brothy Italian meatball soup with tender homemade or store-bought meatballs, fusilli, fire-roasted tomatoes, and fresh basil — perfect for weeknights and meal prep.

This Italian meatball soup is the kind of bowl that fills the kitchen with warmth and familiar aromas — tomato, garlic, and simmering beef — and seems to bring everyone to the table before you even call them. I first developed this version on a rainy Sunday when I wanted something hearty but not heavy, something that combined the nostalgia of meatballs and pasta with the simplicity of a one-pot dinner. The result is a brothy, slightly spicy tomato base studded with tender meatballs and fusilli that cooks right in the pot. It’s become a favorite for chilly evenings, casual guests, and those times when I want comfort without too much fuss.
What makes this preparation special is the balance of texture and flavor: juicy meatballs that add savory depth, pasta that soaks up the tomato-rich broth without becoming gluey, and a hit of fresh basil at the end to lift the whole bowl. I usually make a double batch of meatballs and freeze half for next time — that small bit of prep turns weeknight cooking into a five-star affair. Serve it with a shaving of Parmesan and crusty bread and you have a meal that feels like a warm hug.
Why You'll Love This Recipe
- Ready-from-scratch comfort in about 40 minutes when using pre-made meatballs; a true one-pot dinner that limits cleanup and keeps flavor concentrated.
- Uses pantry staples like canned crushed tomatoes and fusilli, plus a handful of fresh ingredients — easy to shop for any time of year.
- Flexible: make-ahead meatballs, store-bought or homemade both work, and the broth maintains body without becoming heavy.
- Crowd-pleasing: mild heat from optional crushed red pepper and bright basil finish make this suitable for both kids and adult palates.
- Great for meal prep — freezes well (meatballs separate from pasta) and reheats easily on the stove for quick lunches or dinners.
- Balanced nutrition with protein from beef, fiber from tomatoes, and comforting carbs from pasta — a satisfying midweek option.
I first served this while entertaining a small group after a soccer tournament; the kids loved the meatballs, and the adults appreciated how light yet filling it felt. Seeing everyone go back for seconds convinced me this recipe was a keeper — it’s practical, forgiving, and reliably delicious.
Ingredients
- Meatballs (1 pound): Use homemade meatballs from your favorite mix or store-bought quality meatballs. I prefer a mixture of ground beef and pork for juiciness; if making from scratch, add an egg, breadcrumbs, grated Parmesan, and chopped parsley for structure and flavor.
- Olive oil (1 tablespoon): Extra-virgin olive oil brings a fruity background note and helps soften the aromatics without adding heaviness. Use a reputable brand like Colavita or California Olive Ranch for best flavor.
- Onion (1/2 medium, chopped): Yellow onion provides a sweet base when sautéed; dice small so it blends into the broth and releases natural sugars.
- Garlic (4 cloves, minced): Fresh garlic is essential — it brightens the tomato base. Add toward the end of the sauté to avoid bitterness from burning.
- Crushed tomatoes (28 oz can): I use fire-roasted crushed tomatoes for smoky depth, but plain crushed tomatoes also work. Brands like Muir Glen or Cento give consistent acidity and texture.
- Beef broth (4 cups): Use low-sodium broth so you can season to taste. A good beef broth adds body and umami to complement the meatballs.
- Red bell pepper (1/2, chopped small): Adds sweet brightness and a little texture contrast; finely chop to distribute pieces evenly in the soup.
- Italian seasoning (1/4 teaspoon): A small amount goes a long way — choose a blend with oregano, basil, and thyme, or use individual dried herbs for a fresher profile.
- Crushed red pepper flakes (1/2 teaspoon, optional): Use sparingly for a subtle heat that complements the tomatoes without overwhelming the meat.
- Fusilli (1.5 cups uncooked): Spiral pasta holds the broth and provides a pleasing chew; other short shapes like rotini or penne are fine substitutes.
- Fresh basil (1/4 cup, torn/chopped): Stir in at the end for aroma and brightness — use Genovese basil if available for the most classic flavor.
- Salt & pepper to taste: Add gradually and taste as you go since the broth and meatballs may already contain salt.
- Parmesan (for serving, optional): Freshly grated Parmigiano-Reggiano adds umami and a creamy finish when sprinkled over each bowl.
Instructions
Prepare meatballs (if making from scratch): If you need to make meatballs, mix 1 pound ground meat with an egg, 1/3 cup breadcrumbs, 1/4 cup grated Parmesan, 1 tablespoon chopped parsley, 1/2 teaspoon salt, and 1/4 teaspoon black pepper. Form into 1-inch balls and either bake at 400°F for 12-15 minutes or brown in a skillet briefly to set the crust. This prep is not included in the soup time estimate. Sauté aromatics: Heat 1 tablespoon olive oil in a heavy soup pot over medium-high heat. Add 1/2 chopped medium onion and sauté 4-5 minutes until translucent and slightly golden at the edges. Add 4 minced garlic cloves and cook 30 seconds until fragrant — avoid browning to keep garlic sweet and mellow. Build the base: Stir in one 28-ounce can crushed tomatoes (fire-roasted preferred), 4 cups beef broth, 1/2 chopped red bell pepper, 1/4 teaspoon Italian seasoning, and 1/2 teaspoon crushed red pepper flakes if using. Increase heat to high and bring the mixture to a rolling boil, which concentrates the flavors and warms the meatballs without overcooking them. Add meatballs and pasta: Add 1 pound of cooked or store-bought meatballs to the boiling broth. Once at a boil, stir in 1.5 cups uncooked fusilli, then reduce heat to low-medium, cover with the lid slightly ajar, and simmer about 15 minutes or until pasta reaches al dente. Stir every few minutes to prevent sticking and ensure even cooking. Finish and season: When the pasta is cooked, stir in 1/4 cup torn fresh basil. Taste and adjust seasoning with salt and pepper. If the soup seems thicker than you prefer, add extra broth 1/4 cup at a time — this preparation should remain brothy, not stew-like. Serve with grated Parmesan if desired.
You Must Know
- This keeps well refrigerated for up to 4 days; for longer storage freeze meatballs separately from pasta and add fresh pasta when reheating to preserve texture.
- High in protein and moderate in carbs; adjust portion sizes or swap in a legume or vegetable pasta for lower carb options.
- Because fusilli absorbs liquid, the soup will thicken upon standing — thin with additional beef broth or water when reheating.
- Freezes well for up to 3 months if you freeze the meatballs and broth separately from cooked pasta; reheat and add freshly cooked pasta for best results.
My favorite thing about this bowl is the way the flavors feel layered yet simple — the meatballs provide a savory anchor, the tomatoes bring bright acidity, and basil ties everything together. I’ve served this at casual gatherings where it was praised for feeling homemade without requiring hours in the kitchen.
Storage Tips
To store, cool the soup to room temperature (no more than two hours at room temp), then transfer to airtight containers. Refrigerate for up to 4 days. For longer storage, freeze meatballs and broth in labeled freezer bags for up to 3 months and store cooked pasta separately or omit it entirely — cooked pasta tends to become mushy after freezing. When reheating, thaw overnight in the refrigerator and warm gently on the stove, adding a splash of beef broth or water to revive the soup’s consistency; add freshly cooked pasta just before serving for a just-made texture.
Ingredient Substitutions
If you want a lighter protein, swap turkey or chicken meatballs; add extra herbs and a teaspoon of olive oil to maintain moisture. For a vegetarian version, use firm plant-based meatballs or large seasoned white beans like cannellini; replace beef broth with vegetable stock. Gluten-free fusilli or small rice-shaped pasta maintain the same structure; reduce cooking time as indicated on the package. If you prefer a brighter tomato note, mix half crushed tomatoes with a 14-ounce can of diced tomatoes for texture contrast.
Serving Suggestions
Serve in deep bowls with a grating of Parmesan and a drizzle of good olive oil. Accompany with crusty bread or garlic crostini to soak up the broth. For a lighter meal, add a crisp green salad with lemon vinaigrette. Garnish ideas include a few basil leaves, a crack of black pepper, or a scatter of toasted pine nuts for a subtle crunch. This makes an excellent family dinner and also scales well for potlucks when kept in a slow cooker on warm.
Cultural Background
This style of brothy tomato and meatball dish is rooted in Italian-American home cooking rather than a single regional Italian tradition. It reflects the immigrant practice of stretching flavorful components — meat, pasta, and tomatoes — into a nourishing one-pot meal. Many American households adopted meatballs served in broth or tomato sauce because they were economical, versatile, and kid-friendly. Over time, variations have appeared across the country, mixing herbs, pasta shapes, and broths to suit local tastes.
Seasonal Adaptations
In summer, use sun-ripened fresh tomatoes blended with a splash of olive oil for a lighter, fresher broth and add basil at the end. In winter, increase the depth by using a splash of red wine when sautéing the onions or stir in roasted root vegetables for heartier texture. Around holidays, elevate the broth with roasted garlic and finish with a ribbon of aged Parmesan for a richer presentation that still respects the bowl’s comforting roots.
Meal Prep Tips
Make a double batch of meatballs and freeze half for quick assembly later. Cook and cool the broth, then portion into single-serving containers with meatballs included; omit pasta and store separately. On busy days, reheat the broth and meatballs, boil a small portion of pasta fresh (3-4 minutes), and combine for a fast, fresh-feeling meal. Label freezer bags with dates and contents to streamline weeknight dinners.
There’s something deeply satisfying about ladling this soup into bowls and watching people relax into its warmth. Whether you’re feeding a family or meal-prepping for the week, this approach offers comfort, flavor, and practical flexibility — make it your own and enjoy the cozy results.
Pro Tips
Use low-sodium beef broth so you can control salt level during seasoning.
If the soup thickens after resting, thin it with 1/4 cup beef broth at a time until you reach the desired consistency.
Add fresh basil at the end to preserve its bright aroma and avoid cooking it for extended periods.
This nourishing italian meatball soup recipe is sure to be a staple in your kitchen. Enjoy every moist, high protein slice — it is perfect for breakfast or as a wholesome snack any time.
FAQs about Recipes
Can I freeze this soup?
Yes. If freezing, store meatballs and broth separately from the cooked pasta. Reheat meatballs in the broth and add freshly cooked pasta to prevent mushiness.
Do I need to brown the meatballs before adding them?
Use store-bought meatballs for a quick option or follow a simple homemade mix (egg, breadcrumbs, Parmesan, parsley) for better texture and flavor. Browning the meatballs first adds extra depth.
Tags
Italian Meatball Soup
This Italian Meatball Soup recipe makes perfectly juicy, tender, and flavorful steak every time! Serve with potatoes and a side salad for an unforgettable dinner in under 30 minutes.

Ingredients
Protein
Aromatics
Tomato Base
Vegetables & Herbs
Seasonings
Pasta & Garnish
Instructions
Prepare meatballs (optional)
If making from scratch, combine 1 lb ground meat with an egg, 1/3 cup breadcrumbs, 1/4 cup grated Parmesan, parsley, salt, and pepper. Form into 1-inch balls and bake at 400°F for 12-15 minutes or brown briefly in a skillet.
Sauté aromatics
Heat 1 tbsp olive oil over medium-high. Add 1/2 chopped onion and sauté 4-5 minutes until translucent. Add 4 minced garlic cloves and cook 30 seconds until fragrant without browning.
Add tomatoes and broth
Stir in a 28 oz can crushed tomatoes, 4 cups beef broth, 1/2 chopped red bell pepper, 1/4 tsp Italian seasoning, and 1/2 tsp crushed red pepper flakes (optional). Bring to a boil on high heat.
Add meatballs and pasta
Add 1 lb meatballs to the boiling broth, then stir in 1.5 cups uncooked fusilli. Reduce heat to a simmer, cover with lid slightly open, and cook about 15 minutes or until pasta is al dente, stirring occasionally.
Finish with basil and season
Stir in 1/4 cup torn basil and season with salt and pepper to taste. If the soup is too thick, add more beef broth 1/4 cup at a time to reach desired brothy consistency.
Last Step: Please leave a rating and comment letting us know how you liked this recipe! This helps our business to thrive and continue providing free, high-quality recipes for you.
Nutrition
Did You Make This?
Leave a comment & rating below or tag
@epicula on social media!

Categories:
You might also like...

35-Minute Marry Me Chicken Soup That Steals Hearts
A creamy, tomato-kissed chicken soup with garlic, Parmesan, and sun-dried tomatoes—ready in 35 minutes and perfect for weeknights or cozy dinners.

5-Ingredient Mac and Cheese
A creamy, comforting mac and cheese made with just five pantry staples—ready in under 30 minutes and perfect for weeknights or as a crowd-pleasing side.

Air Fryer Christmas Donut Holes
Light, fluffy donut holes tossed in cinnamon sugar and finished with festive sprinkles, made quickly in the air fryer for holiday mornings and parties.

Did You Make This?
Leave a comment & rating below or tag @epicula on social media!
Rate This Recipe
Share This Recipe
Enjoyed this recipe? Share it with friends and family, and don't forget to leave a review!
Comments (1)
This recipe looks amazing! Can't wait to try it.
Comments are stored locally in your browser. Server comments are displayed alongside your local comments.
Hi, I'm Olivia!
What's Popular
30-Minute Meals!
Join to receive our email series which contains a round-up of some of our quick and easy family favorite recipes.
