There are few soups as good as a bowl of homemade Italian Wedding Soup. The meatballs pack a ton of flavor, and there’s so much goodness in the broth. There are a million ways to make this classic Italian soup, but this is the one that I’ve been making for more than 30 years.

I’m a year-round soup eater, and even when I lived in Texas with 100+ degree days, there were very few days where I wouldn’t happily dig into a hearty bowl of soup. I’m usually a creamy soup fan, but Italian Wedding Soup is one of my favorite all-time soups. It’s chunky, flavorful, and those little meatballs are packed with deliciousness.
The secret to this soup is making the tiny meatballs yourself. You can use sausage and just make tiny balls of sausage – about 1 teaspoon of meat – but I like to use a combination of ground pork and lots of garlic.
Make this from scratch and you’ll never want Italian Wedding Soup any other way!

Ingredients
For the meatballs:
- Ground pork – Use lean ground pork.
- Sliced bread – Crusts removed if it’s crusty bread.
- Milk – Any kind of milk will work.
- Garlic cloves – Please use fresh garlic; jarlic just doesn’t have the same flavor.
- Freshly grated Parmesan
- Egg – Lightly beaten.
- Salt – I cook with kosher salt.
- Freshly ground black pepper
- Garlic powder
- Dried basil
- Onion powder
For the soup:
- Good olive oil
- Yellow onion – You could also use a sweet onion.
- Carrots – 1 good sized carrot. You can use your alligator chopper to help make quick work of the veggies.
- Celery – You can use the leaves and all!
- Fennel bulb – Trim the stalks and outer layer away then slice the bulb thinly. If you have fronds, save them for a pretty garnish.
- Homemade chicken stock – Or use low or no-sodium-added chicken broth.
- Dry white wine – You can skip this and give it just 1 tablespoon of lemon juice. A bit of acidity is needed to balance the flavors.
- Acini Di Pepe pasta – See my suggested pasta shapes below.
- Baby spinach – Washed.
- Parsley

How To Make Italian Wedding Soup
- Preheat the oven to 350°F (175°C) and line a baking sheet with parchment paper.
- Soak the bread in milk for a few minutes, then mash it into a smooth paste.
- Mix the ingredients by combining the ground pork, garlic, Parmesan, egg, salt, pepper, garlic powder, basil, onion powder, and bread paste in a large bowl.
- Shape the meatballs by scooping about a teaspoon of the mixture per meatball and rolling them into ½- to 1-inch spheres. Arrange them on the baking sheet.
- Bake for 20 minutes, or until the meatballs are lightly browned and fully cooked. Set them aside.
- Sauté the vegetables by heating olive oil in a large pot over medium heat. Add the onion, carrots, and celery, stirring occasionally for about 5–7 minutes until softened.
- Deglaze with white wine and let it simmer for 2–3 minutes to reduce slightly.
- Add the broth and bring to a boil. Lower the heat, cover, and let it simmer for 10 minutes.
- Cook the pasta separately by boiling it in about 2 cups of the chicken broth until al dente (about 6 minutes). Drain, let it cool, and return any remaining broth to the soup pot.
- Incorporate the meatballs into the soup and let it simmer, covered, for 10 minutes.
- Add the spinach and cook for 1–2 minutes, just until it wilts.
- Taste and adjust seasoning with additional salt and pepper if needed. Serve hot, garnished with extra Parmesan if desired.
Step-By-Step Process









Best Pasta Choices for Italian Wedding Soup
Small pasta varieties work best, as they blend seamlessly with the meatballs and vegetables. Acini di pepe, tubettini, and orzo are all great options. Avoid larger pasta shapes like penne or farfalle, as they can overwhelm the soup. If you want a fun twist, try stelline (tiny star-shaped pasta) for a charming touch.
Chef Jenn’s Tips
- Use quality broth for the best taste—homemade or a rich store-bought option.
- Don’t overwork the meatball mixture to keep them tender.
- Skip the wine if needed—it adds depth but isn’t essential.
- Cook the pasta separately to prevent it from soaking up too much broth when storing leftovers.
- For a gluten-free version, use gluten-free bread and pasta.
Recommended
Make It A Meal
This soup is filling on its own, but pairing it with a crisp green salad and crusty bread makes for a well-rounded meal. A light dessert like biscotti or fresh fruit complements the richness perfectly. For a larger gathering, serve alongside an antipasti platter for an Italian-inspired feast.

Storage
Store leftover soup in an airtight container in the refrigerator for up to 3 days. For longer storage, freeze it in portions for up to 2 months. When reheating, thaw overnight in the fridge and warm it on the stovetop, adding extra broth if needed.

Italian Wedding Soup
Ingredients
For the meatballs
- 1 pound ground pork
- 2 slices white bread crusts removed if it’s crusty bread
- ¼ cup milk
- 2 cloves garlic minced
- ¼ cup Parmesan freshly grated
- 1 egg lightly beaten
- 1 teaspoon salt I cook with kosher salt
- freshly ground black pepper
- 1 teaspoon garlic powder
- 1 teaspoon dried basil
- 1 teaspoon onion powder
For the soup
- 2 tablespoons olive oil
- 1 cup yellow onion chopped
- 2 carrots cut into ¼-inch dice
- 2 stalks celery cut into ¼-inch dice
- 1 cup fennel bulb sliced
- 10 cups chicken stock homemade, or use low or no-sodium added chicken broth
- 1/2 cup dry white wine
- 1 cup acini di pepe pasta or any other very small pasta shape
- 4 ounces baby spinach washed
- parsley
Instructions
- Preheat the oven to 350°F (175°C) and line a baking sheet with parchment paper.
- Soak the bread in milk for a few minutes, then mash it into a smooth paste.
- Mix the ingredients by combining the ground pork, garlic, Parmesan, egg, salt, pepper, garlic powder, basil, onion powder, and bread paste in a large bowl.
- Shape the meatballs by scooping about a teaspoon of the mixture per meatball and rolling them into ½- to 1-inch spheres. Arrange them on the baking sheet.
- Bake for 20 minutes, or until the meatballs are lightly browned and fully cooked. Set them aside.
- Sauté the vegetables by heating olive oil in a large pot over medium heat. Add the onion, carrots, and celery, stirring occasionally for about 5–7 minutes until softened.
- Deglaze with white wine and let it simmer for 2–3 minutes to reduce slightly.
- Add the broth and bring to a boil. Lower the heat, cover, and let it simmer for 10 minutes.
- Cook the pasta separately by boiling it in about 2 cups of the chicken broth until al dente (about 6 minutes). Drain, let it cool, and return any remaining broth to the soup pot.
- Incorporate the meatballs into the soup and let it simmer, covered, for 10 minutes.
- Add the spinach and cook for 1–2 minutes, just until it wilts.
- Taste and adjust seasoning with additional salt and pepper if needed. Serve hot, garnished with extra Parmesan if desired.
Notes
Chef Jenn’s Tips
- Use quality broth for the best taste—homemade or a rich store-bought option.
- Don’t overwork the meatball mixture to keep them tender.
- Skip the wine if needed—it adds depth but isn’t essential.
- Cook the pasta separately to prevent it from soaking up too much broth when storing leftovers.
- For a gluten-free version, use gluten-free bread and pasta.