If you’re craving a warm, satisfying meal that doesn’t take all day, this meatball soup is your answer. It’s comforting, full of flavor, and surprisingly simple to pull together on a busy weeknight. Tender meatballs simmer in a savory broth with vegetables and pasta, making every spoonful feel like a hug.
It’s the kind of recipe you’ll keep coming back to because it checks all the boxes: easy, adaptable, and family-friendly.
Why This Recipe Works

This soup builds layers of flavor fast. Browning the meatballs adds rich, savory notes that carry through the broth. A classic mix of onions, carrots, and celery creates a sturdy base, while tomatoes add brightness and depth.
Cooking the pasta right in the broth keeps things simple and makes the soup extra cozy.
The meatballs stay tender thanks to breadcrumbs and egg, which lock in moisture. It’s the perfect balance of hearty and light.
Ingredients
- For the meatballs:
- 1 lb (450 g) ground beef or a mix of beef and pork
- 1/3 cup plain breadcrumbs
- 1/4 cup grated Parmesan
- 1 large egg
- 2 cloves garlic, minced
- 2 tbsp fresh parsley, finely chopped (or 1 tsp dried)
- 1/2 tsp dried oregano
- 1/2 tsp kosher salt
- 1/4 tsp black pepper
- 1–2 tbsp olive oil (for browning)
- For the soup:
- 1 tbsp olive oil
- 1 medium yellow onion, diced
- 2 carrots, sliced
- 2 celery stalks, sliced
- 3 cloves garlic, minced
- 1 tsp Italian seasoning
- 1 bay leaf
- 1 (14.5 oz) can diced tomatoes
- 6 cups low-sodium chicken or beef broth
- 3/4 cup small pasta (ditalini, orzo, or small shells)
- 2 cups baby spinach or chopped kale
- Salt and pepper to taste
- 2 tbsp fresh basil or parsley, chopped (optional, for garnish)
- Extra grated Parmesan, for serving
Instructions

- Mix the meatballs: In a bowl, combine ground meat, breadcrumbs, Parmesan, egg, garlic, parsley, oregano, salt, and pepper. Use your hands or a fork to mix just until combined.Avoid overmixing so the meatballs stay tender.
- Form and brown: Roll the mixture into 1-inch meatballs. Heat 1–2 tbsp olive oil in a large pot or Dutch oven over medium heat. Brown the meatballs in batches, turning gently until golden on most sides, about 4–6 minutes.Transfer to a plate. They don’t need to be fully cooked yet.
- Sauté the vegetables: In the same pot, add 1 tbsp olive oil if needed. Add onion, carrots, and celery.Cook, stirring, until softened, about 5–7 minutes. Stir in garlic, Italian seasoning, and bay leaf; cook 30 seconds until fragrant.
- Build the broth: Pour in diced tomatoes with their juices and the broth. Scrape up any browned bits from the bottom of the pot for extra flavor.Bring to a gentle boil.
- Simmer the meatballs: Return the meatballs and any juices to the pot. Reduce heat to a simmer and cook 10–12 minutes, or until the meatballs are cooked through.
- Cook the pasta: Stir in the pasta and simmer until al dente, usually 7–10 minutes depending on shape. Stir occasionally so it doesn’t stick.
- Add greens and season: Stir in spinach or kale and cook until wilted, 1–2 minutes.Taste and season with salt and pepper. Remove the bay leaf.
- Serve: Ladle into bowls and top with fresh herbs and a shower of Parmesan. Serve with crusty bread if you like.
Keeping It Fresh
Leftover soup tastes even better the next day.
Store it in an airtight container in the fridge for up to 4 days. The pasta will continue to absorb broth, so you may want to add a splash of water or extra broth when reheating.
For freezing, cook the soup without the pasta and greens. Freeze the meatball-and-veg base for up to 3 months.
When ready to eat, simmer the thawed soup, add pasta to cook fresh, and stir in greens at the end.

Benefits of This Recipe
- Balanced and satisfying: You get protein, veggies, and carbs in one bowl.
- Weeknight-friendly: Uses pantry staples and comes together in about 45 minutes.
- Budget-conscious: Ground meat stretches far and veggies are flexible.
- Kid-approved: Bite-sized meatballs and small pasta are easy to love.
- Customizable: Swap greens, change the pasta, or tweak the spices to your taste.
Common Mistakes to Avoid
- Overworking the meat: Mix the meatball ingredients gently. Overmixing makes them tough.
- Skipping the browning step: Browning builds flavor. Don’t rush it, even if you’re short on time.
- Overcooking the pasta: Add the pasta near the end and cook just to al dente.It will continue to soften in the hot broth.
- Underseasoning: Taste the broth after simmering and adjust salt and pepper. Tomatoes and broth can vary.
- Adding greens too early: Stir in spinach or kale at the end to keep color vibrant and texture tender.
Recipe Variations
- Turkey Meatball Soup: Use ground turkey and add a splash of milk to the meat mixture for extra moisture.
- Italian Wedding-Style: Add tiny pasta like acini di pepe and extra greens, plus a pinch of nutmeg in the meatballs.
- Spicy Twist: Stir in 1/2 teaspoon crushed red pepper flakes or use spicy Italian sausage for half the meat.
- Broth Swap: Try beef broth for a deeper flavor, or a mix of chicken and beef for balance.
- Veggie-Forward: Add zucchini, bell peppers, or peas in the last 5 minutes of cooking.
- Gluten-Free: Use gluten-free breadcrumbs and pasta, or skip pasta and add diced potatoes.
- Dairy-Free: Omit Parmesan and use a dairy-free alternative for serving.
FAQ
Can I bake the meatballs instead of browning them?
Yes. Arrange the meatballs on a lined baking sheet and bake at 400°F (200°C) for 12–15 minutes, or until just cooked through.
Add them to the simmering soup for a few minutes to absorb flavor.
What pasta shapes work best?
Small shapes like ditalini, orzo, mini shells, or elbow macaroni cook evenly and fit nicely on a spoon. If using larger pasta, cook it separately and add it to bowls to avoid over-softening.
How can I make this ahead?
Cook the soup without the pasta and greens, then cool and refrigerate. Reheat, add pasta to cook, and finish with greens.
This keeps the texture fresh and prevents mushy noodles.
Can I use frozen meatballs?
Absolutely. Brown them briefly for better flavor, or drop them straight into the simmering broth and cook until heated through. Check the package for timing and adjust salt as needed.
What if my soup tastes flat?
Add a pinch of salt, a squeeze of lemon, or a splash of red wine vinegar to brighten.
A little extra Parmesan or a pat of butter can add richness and round out the flavor.
How do I keep the meatballs from falling apart?
Use the egg and breadcrumbs as binders, and chill the formed meatballs for 10–15 minutes before browning if you have time. Turn them gently with a spoon rather than tongs.
Can I use rice instead of pasta?
Yes. Add 1/3–1/2 cup uncooked white rice and simmer until tender, about 15 minutes.
For brown rice, pre-cook it and stir in near the end.
Wrapping Up
This meatball soup brings comfort, flavor, and convenience to your dinner table with minimal fuss. It’s flexible enough to match whatever’s in your pantry, yet special enough to feel like a treat. Make a big pot, tuck away leftovers, and enjoy a cozy bowl any night of the week.
Don’t be surprised if it becomes a new household favorite.
Printable Recipe Card
Want just the essential recipe details without scrolling through the article? Get our printable recipe card with just the ingredients and instructions.

