Recipe Overview
Why you’ll love it: This easy meatball soup with orzo and vegetables will warm you on the chilliest of days! Hearty turkey meatballs make the soup satisfying without being heavy.
How long it takes: 1 hour
Equipment you’ll need: mixing bowl, large pot
Servings: 5

Comfort Food Without the Food Coma
Meatball soup is what I make when I want something cozy and comforting, but not so heavy that everyone’s ready for a nap afterward.
It has all the things I love about comfort food, but in a lighter, everyday kind of way. Ground turkey meatballs, plenty of vegetables, and a handful of spinach make it feel nourishing without trying too hard. It’s the kind of soup that works just as well for a busy weeknight as it does for leftovers the next day. (Which, honestly, is always a win.)
- Comfort food—but not heavy. So many comfort foods are also indulgent foods: think crockpot mashed potatoes and stovetop mac and cheese. They’re good once in a while, but not on a daily basis! But this meatball soup has those comforting vibes in a healthier form, with ground turkey meatballs, lots of veggies, and nutrient-packed spinach.
- So flavorful. Homemade turkey meatballs are worth the extra effort—they add lots of savory, Italian-inspired flavor to this soup. (Meatball lovers, don’t miss my porcupine meatballs and air fryer meatballs either!)
- Easy to make. As with most soup recipes, this one’s a cinch.
- Great for meal prep. Meatball soup keeps well in the fridge, so you can make a batch on the weekend when you have more spare time and enjoy it for quick and easy weekday dinners.
Ingredient Notes
You’ll find the full ingredient list in the recipe card below.
For the Meatballs:
- Ground turkey: I use 93/7 ground turkey which is fairly lean. Ground turkey breast is more lean but tends to be somewhat tougher and dry.
- Panko breadcrumbs: Homemade breadcrumbs would also work as a binder. If you use regular breadcrumbs as opposed to panko, the texture of the meatballs will be a bit more dense and less tender.
- Parmesan cheese: You can use freshly grated, but this is a recipe where store-bought would also be fine.
- Seasoning: The meatballs are seasoned with freshly minced garlic, Worcestershire sauce for a hint of umami, dried Italian seasoning, salt and pepper.
For the Soup:
- Vegetables: Diced onion, carrot, and celery form a savory trio called mirepoix.
- Reduced sodium chicken broth: Chicken stock, which is unseasoned, also works.
- Italian seasoning: Dried Italian seasoning is an easy way to add lots of Italian flavor to the meatball soup.
- Uncooked orzo: You could use another very small pasta if you’d like. (Kids love alphabet pasta!)
- Baby spinach: I like baby spinach because it wilts quickly, but if you prefer a heartier green, kale would be great too.
How to Make Meatball Soup
Make the meatballs. Use your hands to mix the meatball ingredients until just combined. (Don’t overwork it! That’s how you get tough meatballs!) Roll the mixture into 1-inch meatballs and set them on a plate.


Sear the meatballs. Warm the oil in a large pot set over medium-high heat. Once it’s shimmering, add the meatballs in a single layer (cook in batches if they don’t all fit). Cook for about 4 minutes, or until nicely browned on the bottoms, then turn. Keep cooking until they’re nicely browned on all sides; they don’t have to be completely cooked through. Transfer to a plate.


Sauté the vegetables. Add the veggies to the pot and cook until the onions are translucent.


Simmer. Pour in the broth and water, then stir in the Italian seasoning and meatballs. Bring to a boil and then add the orzo. Cook for 9 to 11 minutes, lowering the heat but maintaining an active simmer, until the orzo is al dente.
Add the spinach. Stir in the spinach and cook briefly until it wilts.
Finish. Check the soup. If it seems too thick for your liking, add more water or broth. Add more salt, if needed (the saltiness can depend on the type of broth you use). Ladle into bowls, and enjoy!




Recipe Variations
Use store-bought meatballs. For a shortcut, buy a bag or container of cooked meatballs from the grocery store and use those in this soup instead of making your own. While I do prefer homemade, using store-bought makes this meatball soup come together even faster! You can also form the meatballs ahead of time, and either refrigerate them until you’re ready to make the soup, or freeze them to use later.
Toss in a Parmesan rind. If you use freshly grated Parmesan or happen to have a Parmesan rind on hand (I keep them in the fridge or freezer for making soups, rather than throwing them away!), you can drop that into the pot of soup when you add the broth. It’ll add rich, deeply savory flavor to the soup. Just note that you’ll want to be conservative with the amount of salt you add, as the Parmesan can add saltiness to the soup too.
Serving Suggestions
- Salad: Keep it simple with a cucumber tomato salad dressed in a light vinaigrette or a classic house salad.
- Bread: I like to buy crusty bakery bread or baguettes to serve with restaurant-style bread dipping oil or with a smear of roasted garlic. Texas toast garlic bread goes well with this soup, too. Float a couple of Parmesan crisps on each serving, or serve them on the side in place of crackers.
- Dessert: A chocolate chip blondie or a lemon brownie would provide a nice sweet finish to your meal.

Refrigerator: Store leftover meatball soup in a covered container in the refrigerator for up to 4 days.
Freezer: You can also freeze this recipe for up to 3 months in a freezer-safe container or freezer bag. Thaw in the refrigerator before reheating.
To reheat: Warm leftovers in a pan set over medium heat or warm individual portions in the microwave.
More Hearty Soup Recipes
Meatball Soup

Ingredients
For Meatballs:
- 16 ounces ground turkey (93/7 blend)
- ½ cup panko breadcrumbs
- ¼ cup grated Parmesan cheese
- 2 cloves garlic (minced or pressed)
- 1 teaspoon Worcestershire sauce
- ½ teaspoon Italian seasoning
- ¼ teaspoon coarse ground black pepper
- ¼ teaspoon kosher salt
For Soup:
- 3 tablespoons olive oil
- 1 cup diced onion (1 medium yellow onion)
- 1 cup diced carrot (about 4 small carrots or 2 large)
- 1 cup diced celery (about 3 stalks)
- ½ teaspoon kosher salt
- ½ teaspoon coarse ground black pepper
- 4 cups reduced sodium chicken broth
- 2 cups water (or additional broth)
- 1 teaspoon Italian seasoning
- ½ cup uncooked orzo
- 5 ounces baby spinach (5 to 6 loosely packed cups)
Instructions
- Add all meatball ingredients to a large bowl. Mix until just combined. Form into small meatballs, about 1 inch in diameter (we use a 2 teaspoon scoop, making 34 meatballs). Place meatballs on a plate until ready to cook.16 ounces ground turkey, ½ cup panko breadcrumbs, ¼ cup grated Parmesan cheese, 2 cloves garlic, 1 teaspoon Worcestershire sauce, ½ teaspoon Italian seasoning, ¼ teaspoon coarse ground black pepper, ¼ teaspoon kosher salt
- When the meatballs are rolled, heat a large pot over medium-high heat.
- Add the oil. When the oil is hot, add the meatballs in a single layer. Cook without stirring until browned on the bottom, about 4 minutes. If they don’t seem like they want to move, keep cooking for another 1 to 2 minutes. Gently stir or flip the meatballs and continue to cook for 4 to 5 minutes or until browned on all sides. They don’t have to be fully cooked. Remove meatballs from pot.3 tablespoons olive oil
- To the same pot, add onions, carrots, celery, salt and pepper, and cook, stirring frequently, until onions are translucent, 4 to 5 minutes.1 cup diced onion, 1 cup diced carrot, 1 cup diced celery, ½ teaspoon kosher salt, ½ teaspoon coarse ground black pepper
- Add broth, water, Italian seasoning, and meatballs and increase heat to high to bring the soup to a boil.4 cups reduced sodium chicken broth, 2 cups water, 1 teaspoon Italian seasoning
- Once the soup is boiling, add orzo, lowering heat to maintain a simmer, for 9 to 11 minutes, or as directed on package, until pasta is al dente.½ cup uncooked orzo
- If the spinach leaves are large, roughly chop them. Add spinach to the soup and stir until spinach is wilted, about 2 minutes.5 ounces baby spinach
- Add water or more broth as necessary after pasta is cooked to thin soup to desired consistency. Check the seasoning, and add more salt or pepper, if needed.
- Serve immediately.
Notes
- Ground turkey: If you prefer, you can make the meatballs with lean ground beef. Ground chicken works, too, but tends to be softer. I’d advise browning those in a nonstick pan to make sure they don’t fall apart.
- Meatball shortcut: Skip making your own meatballs and instead use your favorite store-bought fully-cooked meatballs (14 to 18 ounce package). Add them to the soup with the broth, after you sauté the vegetables. If meatballs are frozen, you don’t need to thaw them.
- Using kale: You could substitute baby kale for the spinach. If you use mature kale, it will take longer to cook. Chop it into small pieces, and add it to the soup when it comes to a boil, before you add the orzo. Bring the soup back to a boil before adding orzo.
Video
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.

















Really yummy. Subs we did: added 2cups of chopped baby potatoes (added during the beginning with the carrots and onions, with a little extra olive oil); grocery store didn’t have that specific meatball flavor from Al Fresco so we used a similar one. Hearty but not too heavy, healthy, and nourishing.
I’m so glad you liked this recipe, thanks for taking the time to leave a comment and a review, it means a lot!
I need a bowl of this to warm up!
I need a large bowl of this soup!
Me too! Chilly day here in Michigan.
I go crazy too when I don’t work out! I love this campaign by al fresco and the work The Ellie Fund is doing, and it’s always a good reminder to take care of ourselves!
That’s a good way to look at working out Rachel! My family needs me. I like it. And I like this soup too. Gimme!!
I love meatballs, and I love that this company is so committed to such a wonderful cause ~ I look for these at the supermarket this week!