This classic brothy soup is loaded with tender mini meatballs, pasta, and vegetables, making it a comforting and flavorful dish. Italian Wedding Soup has been a favorite in my kitchen for years, and I love how simple yet satisfying it is.

This post may contain affiliate link(s). As an Amazon Associate, I earn from qualifying purchases. See Disclosure.
Despite its name, Italian Wedding Soup isn’t about actual weddings. Instead, it refers to the perfect “marriage” of flavors—savory meatballs, delicate greens, and tiny pasta, all combined in a rich broth. This soup is a go-to for cold days or when I need a cozy meal to bring everyone to the table.
For this version, I use baby spinach because it’s easy to find, but escarole is a great alternative for extra flavor. Baby kale works too, as it softens quickly in the broth.
One of the best parts? You can prep the mini meatballs ahead of time and freeze them until you’re ready to cook. I like to make mine about a teaspoon in size—perfect for spoonful bites!

History
Italian Wedding Soup, or “minestra maritata,” has roots dating back to the 18th century in southern Italy, particularly in Naples. The dish, which is named for the “marriage” of flavors between the meatballs and bitter greens, was traditionally made with a variety of meats, including chicken and pork. The soup’s evolution in the United States, however, likely began in the early 20th century, around the 1920s to 1950s, when Italian immigrants brought their culinary traditions to America. By the mid-1900s, it became a beloved comfort food within Italian-American communities, often served at family gatherings and special occasions. Today, the dish is widely known and enjoyed, both in its traditional Italian form and in the Americanized version with beef and pork meatballs.
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
Scroll down for the full recipe card with exact measurements and printable instructions.
Preheat your oven to 350°F and line a baking sheet with parchment paper. While it warms, soak the bread in milk for a few minutes, then mash it into a smooth paste. I love using a mini silicone masher to get it perfectly soft.
In a large bowl, combine the ground pork, mashed bread, minced garlic, grated Parmesan, egg, salt, pepper, garlic powder, dried basil, and onion powder. Mix until everything is evenly incorporated. A handheld silicone whisk works wonderfully to blend without overworking the meat.


Scoop about a teaspoon of the mixture at a time and roll it into small meatballs, roughly ½ to 1 inch. Place them on the prepared baking sheet.

Bake the meatballs for about 20 minutes until fully cooked and lightly browned. Set aside while you make the soup.
Heat olive oil in a large soup pot over medium heat. Add chopped onions, carrots, and celery. Cook for 5 to 7 minutes until softened. I like using a wooden spatula with a flat edge to stir without bruising the vegetables.

Add the fennel and cook for another minute. Pour in the white wine and let it reduce for 2 to 3 minutes at a gentle simmer.

Add the chicken stock and bring the mixture to a boil. Reduce the heat, cover, and simmer for 10 minutes to develop the flavors.
Cook the pasta separately in about 2 cups of chicken broth until al dente, about 6 minutes. Drain and set aside, returning any remaining broth to the soup pot. A mini mesh strainer is perfect to catch every bit of pasta.
Gently add the baked meatballs to the soup and simmer, covered, for another 10 minutes so they soak up all the flavor.

Stir in the baby spinach and cook for 1 to 2 minutes until wilted. Taste and adjust seasoning with salt and pepper.
Serve hot and garnish with extra Parmesan. I like using kitchen scissors to snip a little fresh parsley on top for a vibrant, fresh touch. This soup is full of heart, flavor, and comfort.

Best Pasta Choices for Italian Wedding Soup
Small pasta shapes work best in this soup, as they balance well with the meatballs and vegetables. Acini di pepe, tubettini, or orzo are great options. Avoid larger pasta like penne, which can overwhelm the dish. If you want a fun twist, try using tiny star-shaped pasta (stelline) for a charming look.
Chef Jenn’s Tips
- Use high-quality chicken stock for a richer broth. Homemade is ideal, but a good store-bought option works just as well.
- Handle the meatball mixture gently to keep them tender—overworking the mixture can make them dense.
- If you don’t have white wine, you can skip that step.
- Cooking the pasta separately keeps it from soaking up too much broth, which prevents it from becoming mushy when storing leftovers.
- For a gluten-free version, use gluten-free bread and pasta.
Make It A Meal
Italian Wedding Soup is filling on its own, but you can pair it with a simple side salad and some crusty bread for a complete meal. If you’re serving guests, consider adding a small antipasti platter before the soup and finishing the meal with biscotti or fresh fruit for a light dessert.

Storage
This soup stores well and tastes even better the next day as the flavors develop. Keep leftovers in an airtight container in the refrigerator for up to three days. To freeze, store in portioned containers for up to two months. Thaw in the fridge overnight before reheating on the stovetop, adding extra broth if needed.

Italian Wedding Soup
Ingredients
For the meatballs
- 1 pound ground pork
- 2 slices white bread
- ¼ cup milk
- 2 cloves garlic
- ¼ cup Parmesan
- 1 egg
- 1 teaspoon 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
- ½ 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 paste.
- Mix the ground pork, mashed bread, garlic, Parmesan, egg, salt, pepper, garlic powder, basil, and onion powder until well combined.
- Scoop out about a teaspoon of the mixture at a time and roll into small meatballs (½ to 1 inch in size). Arrange them on the prepared baking sheet.
- Bake for around 20 minutes or until the meatballs are fully cooked and lightly browned. Set aside.
- Heat olive oil in a large pot over medium heat. Add the onions, carrots, and celery, and cook for about 5–7 minutes until softened.
- Stir in the fennel and cook for another minute.
- Pour in the white wine, letting it reduce for 2–3 minutes at a gentle simmer.
- Add the chicken stock and bring to a boil. Reduce the heat, cover, and let it simmer for 10 minutes.
- Cook the pasta separately in about 2 cups of chicken broth until al dente, about 6 minutes. Drain and set aside, adding any remaining broth back into the soup pot.
- Gently add the meatballs to the soup and let it simmer, covered, for another 10 minutes.
- Stir in the baby spinach and cook for 1–2 minutes until wilted.
- Taste and adjust seasoning with salt and pepper as needed. Serve hot, garnished with extra Parmesan if desired.
Notes
Chef Jenn’s Tips
- Use high-quality chicken stock for a richer broth. Homemade is ideal, but a good store-bought option works just as well.
- Handle the meatball mixture gently to keep them tender—overworking the mixture can make them dense.
- If you don’t have white wine, you can skip that step.
- Cooking the pasta separately keeps it from soaking up too much broth, which prevents it from becoming mushy when storing leftovers.
- For a gluten-free version, use gluten-free bread and pasta.