Meatball Soup: Comforting and Hearty for Winter Nights
When the chill of winter sets in, nothing beats a warm bowl of Meatball Soup that sings with the rich flavors of savory broth and tender meatballs. This dish is a delightful blend of comforting, hearty, and protein-packed goodness—imagine each spoonful being crispy, savory, fresh, and loaded with protein to fuel your day. I created this recipe during one of those busy weeks when my family needed something quick yet satisfying; with just 350 calories per serving, it’s an ideal choice for meal prep days or cozy dinners alike.
I still remember the first time I made this soup on a chilly Sunday afternoon. My daughter walked in from outside, her cheeks rosy from the cold, and exclaimed, “It smells like home in here!” The secret twist that elevates this Meatball Soup is the addition of fragrant herbs that dance through the broth, giving it a unique flavor profile compared to traditional recipes. By the end of dinner, my son was asking for seconds, his eyes wide with delight as he slurped up every last drop—proof that this recipe has earned its place as a family favorite!
Ingredients for the Meatball Soup
Each ingredient in this dish plays an essential role in flavor and texture. Here’s what you’ll need:
- 1 pound ground beef (or ground turkey): Provides rich flavor and forms the base of the meatballs.
- 1/2 cup bread crumbs (preferably Italian seasoned): Helps bind the meatballs while adding a subtle herbaceous flavor.
- 1 large egg: Acts as a binder to hold the meatballs together and contributes moisture.
- 1 teaspoon garlic powder: Infuses the meatballs with savory depth and aroma.
- 1 teaspoon onion powder: Adds sweetness and enhances the overall flavor profile of the meatballs.
- 1/2 teaspoon salt: Essential for bringing out the flavors of all ingredients.
- 1/4 teaspoon black pepper: Offers a hint of spice that balances the richness of the meat.
- 4 cups chicken broth (or beef broth): Serves as a flavorful base, enriching every spoonful of soup.
- 1 cup carrots (diced): Adds natural sweetness and vibrant color to the soup.
- 1 cup celery (diced): Contributes a refreshing crunch and aromatic quality to the broth.
- 1 cup onion (diced): Provides foundational sweetness and depth in the soup’s flavor.
- 2 cloves garlic (minced): Enhances the overall taste with its robust aroma and flavor.
- 1 teaspoon dried oregano: Introduces earthy notes that complement the other herbs.
- 1 teaspoon dried basil: Adds a touch of warmth and freshness to the soup’s flavor profile.
- 1 bay leaf: Infuses a subtle complexity during cooking that deepens the broth’s taste.
- 2 cups spinach (fresh, chopped): Offers a nutritious boost and vibrant color at serving time.
- 1/4 cup parmesan cheese (grated, for serving): Enhances richness with a salty finish on top of each bowl.
Step-by-Step Instructions
I recommend starting by preparing the meatballs first, as they need some time to cook while you make the soup base, ensuring everything is ready at once.
Step 1: In a mixing bowl, combine 1 pound of ground beef (or ground turkey), 1/2 cup of Italian seasoned bread crumbs, 1 large egg, 1 teaspoon of garlic powder, 1 teaspoon of onion powder, 1/2 teaspoon of salt, and 1/4 teaspoon of black pepper. Mix until well combined — I usually use my hands for this to ensure everything is evenly distributed. Once mixed, form the mixture into small meatballs, about 1 inch in diameter. Aim for uniformity in size so they cook evenly.
Step 2: In a large pot over medium heat, add a little oil and wait until it shimmers before adding your meatballs. Cook them for about 5-7 minutes, turning occasionally until they are browned on all sides and no pink remains in the center. This step builds serious flavor, so don’t rush it; be patient and let them get that nice golden-brown color. Once cooked, remove the meatballs from the pot and set them aside on a plate.
Step 3: Using the same pot with the flavorful drippings left behind, add 1 cup each of diced onions, carrots, and celery. Sauté these vegetables for about 5 minutes until they soften and the onions become translucent — you want to extract every bit of flavor here. After softening them up, add in 2 cloves of minced garlic along with 1 teaspoon each of dried oregano and dried basil, plus a bay leaf. Cook for another minute until fragrant; this will really enhance your soup’s aroma.
Step 4: Pour in 4 cups of chicken broth (or beef broth) and bring it to a simmer. This is where all those sautéed flavors start melding together beautifully. Let it heat through for just a couple of minutes before moving on to the next step — you want it steaming hot but not boiling vigorously.
Step 5: Now it’s time to return those delicious meatballs back into the pot. Allow them to simmer gently in the broth for about 15-20 minutes; this helps ensure they are fully cooked through while also infusing their juices into the soup. Keep an eye on them — you want them tender but firm enough to hold together.
Step 6: Add in 2 cups of fresh chopped spinach during the last few minutes of cooking; let it cook for an additional 2-3 minutes until wilted. The bright green color will not only enhance the nutrition but also add a lovely contrast to your hearty soup.
Step 7: Serve your meatball soup hot with a sprinkle of grated Parmesan cheese on top for that extra touch of flavor. I love how this finishing touch complements the overall taste perfectly — it’s like giving your cozy meal a warm hug!
What to Serve with Meatball Soup
This bowl is already incredibly filling and balanced, but these sides add extra variety and nutrition to round out your meal perfectly.
Garlic Bread: Toasted slices of baguette slathered in garlic butter make for a perfect side that complements the savory flavors of the meatball soup. The buttery crunch adds a delightful texture contrast and helps soak up the flavorful broth. Plus, it’s an easy way to get some carbs into your meal, providing around 15 grams per slice, which is great for energy after a long day.
Simple Arugula Salad: A fresh arugula salad dressed with lemon vinaigrette offers a refreshing bite that balances the richness of the meatballs. The peppery greens are packed with vitamins A and C, making it a light but nutritious counterpart. I love serving this salad as a bright contrast on chilly nights—it’s an easy way to sneak in those leafy greens!
Creamy Mashed Potatoes: Creamy mashed potatoes whipped with Greek yogurt provide a rich and comforting side that pairs beautifully with meatball soup. The creamy texture echoes the soup’s heartiness while adding extra protein—about 5-6 grams per serving thanks to the yogurt. This dish has become a family favorite during cozy dinners, as it keeps everyone satisfied!
Roasted Veggie Medley: A mix of seasonal veggies like zucchini, bell peppers, and carrots roasted in olive oil brings vibrant colors and nutrients to your table. The slight sweetness from the roasted veggies complements the savory broth of the soup while adding fiber and essential vitamins. We often prep a big batch on Sundays; they make great leftovers for lunches throughout the week!
Storage & Serving Tips

Store your meatball soup in an airtight container in the fridge for up to 4 days. For optimal freshness, keep the meatballs and broth separate; store the meatballs in one container and the soup base, which includes the chicken broth, diced carrots, celery, onion, minced garlic, dried oregano, and dried basil, in another. Additionally, place the fresh spinach and grated parmesan cheese in individual small containers to maintain their texture and flavor.
When reheating, warm the soup base on the stovetop over medium heat until simmering (about 5-7 minutes). For the meatballs, pop them into a microwave-safe dish and heat for 1-2 minutes until hot throughout, ensuring they don’t dry out. Avoid microwaving the soup as it can lead to uneven heating; instead, stick to the stovetop method for best results. The spinach should be added fresh just before serving to retain its vibrant color and nutrition.
Pro tip: To streamline your meal prep for the week, consider doubling this recipe and portioning it into containers on Sunday. Each family member can then easily assemble their own bowls by adding desired portions of meatballs to the soup base. For variety throughout the week, swap out ground beef for ground turkey or add extra beans for a vegetarian protein boost. To keep the parmesan cheese at its best during storage, always keep it in a separate container until you’re ready to serve.
Conclusion
This Meatball Soup has become one of those recipes I make at least twice a month because it’s genuinely easy, incredibly satisfying, and delivers 350 calories per serving without sacrificing flavor. The Italian seasoned breadcrumbs in the meatballs elevate this dish beyond your average soup, adding a unique depth that keeps everyone coming back for more. Give this one a try this week. I promise it’ll become a regular rotation meal in your house too.

Meatball Soup
Ingredients
Method
- In a mixing bowl, combine ground beef, bread crumbs, egg, garlic powder, onion powder, salt, and black pepper. Mix until well combined.
- Form the mixture into small meatballs, about 1 inch in diameter.
- In a large pot, heat a little oil over medium heat. Add the meatballs and cook until browned on all sides, about 5-7 minutes. Remove and set aside.
- In the same pot, add diced onions, carrots, and celery. Sauté until softened, about 5 minutes.
- Add minced garlic, oregano, basil, and bay leaf. Cook for another minute until fragrant.
- Pour in the chicken broth and bring to a simmer.
- Return the meatballs to the pot and let simmer for 15-20 minutes.
- Add chopped spinach and cook for an additional 2-3 minutes until wilted.
- Serve hot, garnished with grated parmesan cheese.
