There's something magical about a bowl of Italian wedding soup. The name doesn't come from actual weddings—it comes from the Italian phrase 'minestra maritata,' which means 'married soup,' because the greens and meat are such a perfect match. And in this version, I've added orzo to make it extra hearty and satisfying.
Advertisements1
I first made this soup on a chilly Sunday when I wanted something warm but didn't want to spend hours in the kitchen. With just one pot and simple ingredients, it came together in under an hour—and my family asked for seconds before they even finished their first bowl.
Whether you're feeding a crowd or just want leftovers for the week, this soup is a winner. It's packed with tender meatballs, fresh spinach, and creamy orzo, all in a savory broth that feels like a hug in a bowl.
Why You'll Love This Recipe
About the Ingredients
1 lb (450g) ground beef (or ground turkey)
Use lean ground beef (85/15) for flavor without too much grease. Ground turkey or chicken works too—just add a little olive oil to keep them moist.
1/2 cup (50g) plain breadcrumbs
Panko breadcrumbs give a lighter texture. You can also use crushed crackers or gluten-free breadcrumbs.
1 large egg, lightly beaten
Helps bind the meatballs. If you're egg-free, use 2 tablespoons of milk or water with 1 tablespoon of ground flaxseed.
1/4 cup (25g) grated Parmesan cheese
Adds salty, nutty flavor to the meatballs. Freshly grated is best; you can substitute Pecorino Romano.
2 cloves garlic, minced
Fresh garlic is key. If you're in a pinch, use 1/2 teaspoon garlic powder.
1 teaspoon dried oregano
A classic Italian herb. You can use 1 tablespoon fresh oregano, chopped.
1/2 teaspoon salt, plus more to taste
Adjust based on your broth's saltiness. Use kosher salt for better control.
1/4 teaspoon black pepper
Freshly ground pepper adds a nice kick. Pre-ground works too.
8 cups (2 liters) chicken broth (low sodium)
Use low-sodium to control salt. Homemade or store-bought both work; vegetable broth makes it vegetarian (use veggie meatballs).
1 cup (200g) orzo pasta
Orzo is a rice-shaped pasta. You can substitute ditalini, acini di pepe, or even short-grain rice (adjust cooking time).
5 oz (140g) fresh baby spinach
Adds color and nutrients. You can use chopped kale or Swiss chard—just add a few minutes earlier.
1/4 cup (25g) grated Parmesan cheese, for serving
Optional but highly recommended. Freshly grated melts better.
Tips & Tricks
- Don't overmix the meatball mixture—mix until just combined to keep them tender.
- To prevent orzo from absorbing too much broth, cook it separately and add to each bowl, or cook it in the soup but serve immediately.
- If you're meal-prepping, keep the orzo separate to avoid it getting mushy.
Pro Tips
Step-by-Step Instructions
1. Make the Meatballs
In a large bowl, combine ground beef, breadcrumbs, egg, Parmesan, garlic, oregano, salt, and pepper. Mix gently with your hands until just combined—don't overmix or meatballs will be tough. Roll into 1-inch balls (about 20-24).
2. Brown the Meatballs
Heat 2 tablespoons olive oil in a large Dutch oven or pot over medium heat (350°F / 175°C). Add meatballs in a single layer and cook until browned on all sides, about 5-7 minutes. They don't need to be cooked through—they'll finish in the broth. Use a slotted spoon to remove and set aside.
3. Sauté Aromatics
In the same pot, add a splash of olive oil if needed. Add 1 small chopped onion and 2 minced garlic cloves. Cook over medium heat (350°F / 175°C) for 2-3 minutes until fragrant and translucent, scraping up any browned bits.
4. Add Broth and Simmer
Pour in the chicken broth and bring to a boil over high heat (212°F / 100°C). Once boiling, reduce heat to low (200°F / 93°C) and simmer for 10 minutes to meld flavors.
5. Cook the Orzo
Stir in the orzo and return to a gentle boil. Cook for 8-10 minutes, stirring occasionally, until al dente. The orzo will absorb some broth—if you prefer a thinner soup, add extra broth or water.
6. Add Meatballs and Spinach
Gently add the browned meatballs back to the pot. Stir in the baby spinach and cook for 2-3 minutes until wilted and meatballs are cooked through (internal temperature of 165°F / 74°C).
7. Season and Serve
Taste and adjust seasoning with salt and pepper. Ladle into bowls and top with extra Parmesan. Serve hot with crusty bread.
Delicious Variations
- Add a squeeze of lemon juice and a sprinkle of lemon zest for brightness before serving.
- Swap the spinach for escarole or kale for a more traditional bitter green.
- Make it vegetarian by using plant-based meatballs and vegetable broth—still hearty and delicious.
How to Store Italian Wedding Soup Recipe With Orzo
Refrigerator
Store in an airtight container for up to 4 days. Keep in mind the orzo will absorb broth, so you may need to add more broth when reheating.
Freezer
Freeze without the orzo for up to 3 months. Thaw overnight in the fridge, then reheat and add freshly cooked orzo.
Reheating
Reheat on the stovetop over medium heat, adding a splash of broth or water to loosen. Or microwave in 1-minute intervals, stirring between.
Frequently Asked Questions
Q: Why is it called Italian wedding soup?
It's called 'wedding soup' because the combination of greens and meat symbolizes the 'marriage' of flavors. It has nothing to do with actual weddings.
Q: Can I use frozen meatballs?
Yes, you can use frozen meatballs—just add them directly to the simmering broth and cook until heated through (about 10 minutes). They won't have the same fresh texture but are a great shortcut.
Q: How do I keep the orzo from getting mushy?
Cook the orzo separately and add it to each bowl when serving, or cook it in the soup but don't overcook—check for al dente. Also, don't store leftovers with the orzo in the soup; store separately.
Q: Can I make this soup in a slow cooker?
Yes! Brown the meatballs and sauté aromatics first, then add everything except the orzo and spinach to the slow cooker. Cook on low for 6-8 hours, then add orzo and cook for 20 more minutes, then stir in spinach.
Q: Is this soup gluten-free?
It can be! Use gluten-free breadcrumbs and gluten-free orzo (or rice). Check your broth and Parmesan to ensure they're gluten-free.
I hope this Italian wedding soup becomes a staple in your home like it is in mine. Give it a try and let me know how it turns out—tag me in your photos! And if you're looking for more cozy soup ideas, check out my minestrone or chicken noodle. Happy cooking!
Italian Wedding Soup Recipe With Orzo
This Italian Wedding Soup with orzo is a hearty, one-pot meal that's easy, healthy, and perfect for cozy weeknights.
🧂 Ingredients
- 1 lb (450g) ground beef (or ground turkey)
- 1/2 cup (50g) plain breadcrumbs
- 1 large egg, lightly beaten
- 1/4 cup (25g) grated Parmesan cheese
- 2 cloves garlic, minced
- 1 teaspoon dried oregano
- 1/2 teaspoon salt, plus more to taste
- 1/4 teaspoon black pepper
- 8 cups (2 liters) chicken broth (low sodium)
- 1 cup (200g) orzo pasta
- 5 oz (140g) fresh baby spinach
- 1/4 cup (25g) grated Parmesan cheese, for serving
📋 Instructions
- 1Make the Meatballs — In a large bowl, combine ground beef, breadcrumbs, egg, Parmesan, garlic, oregano, salt, and pepper. Mix gently with your hands until just combined—don't overmix or meatballs will be tough. Roll into 1-inch balls (about 20-24).
- 2Brown the Meatballs — Heat 2 tablespoons olive oil in a large Dutch oven or pot over medium heat (350°F / 175°C). Add meatballs in a single layer and cook until browned on all sides, about 5-7 minutes. They don't need to be cooked through—they'll finish in the broth. Use a slotted spoon to remove and set aside.
- 3Sauté Aromatics — In the same pot, add a splash of olive oil if needed. Add 1 small chopped onion and 2 minced garlic cloves. Cook over medium heat (350°F / 175°C) for 2-3 minutes until fragrant and translucent, scraping up any browned bits.
- 4Add Broth and Simmer — Pour in the chicken broth and bring to a boil over high heat (212°F / 100°C). Once boiling, reduce heat to low (200°F / 93°C) and simmer for 10 minutes to meld flavors.
- 5Cook the Orzo — Stir in the orzo and return to a gentle boil. Cook for 8-10 minutes, stirring occasionally, until al dente. The orzo will absorb some broth—if you prefer a thinner soup, add extra broth or water.
- 6Add Meatballs and Spinach — Gently add the browned meatballs back to the pot. Stir in the baby spinach and cook for 2-3 minutes until wilted and meatballs are cooked through (internal temperature of 165°F / 74°C).
- 7Season and Serve — Taste and adjust seasoning with salt and pepper. Ladle into bowls and top with extra Parmesan. Serve hot with crusty bread.



