*This post may contain affiliate links. Read more »
This vegan Italian wedding soup is one of my fave things to make a big batch of to freeze for days I don't have the time or energy to cook. Not 'cause you're supposed to get married to your soup (I mean, maybe later, but we're not doing that today), but because it has tiny pasta, greens, and properly browned meatballs in a gloriously garlicky broth.


Enter your email & I'll send it to your inbox. Plus, get great new recipes from me every week!
By submitting this form, you consent to receive emails from Cinnamon Snail.
The name "Wedding Soup" trips people up. It comes from the Italian name minestra maritata, which refers to the way the ingredients of the soup are "married" together in the pot- not anything to do with actual weddings where people kiss and whatnot.
Here's the problem. Most vegan Italian wedding soup recipes are a messy, public divorce. You're often left with mushy, disintegrating meatballs and a broth that tastes like lightly seasoned dishwater.
See, the thingy is that traditional Italian wedding soup is all about balance. The meatballs should be juicy and tender, not dense. The savory broth should be clear, slightly herbal, and properly seasoned. Pastina like acini de pepe is what we use here because you get little specs of pasta in every spoonful instead of clumps of sucky old suck. Spinach goes in last so it wilts gently and keeps its color and nourishment. This is a super-simple recipe with a broth-first vibe and everyone knows it.
Think of this as kind of like escarole and bean soup, just… less tomatoey. This vegan version doesn't reinvent anything. It just swaps in plant-based beef, browns the meatballs like a normal recipe, builds flavor with onion, carrot, and celery, then finishes with greens and fresh herbs. Serve with vegan garlic bread, maybe vegan baked ziti on the side, and your day is made.
Jump to:
🥰 Why you'll adore this Vegan Italian Wedding Soup recipe
✊ Vegan AF: Like all of my vegan Italian recipes, this soup gives comfort without harming animals or someone's wedding (specifically farm animals wearing veils and tuxedos) at all.
⏱️ Weeknight-Realistic Timing: This comes together without turning your kitchen into a war zone or eating your entire evening. You can begin this half-dead and still end up eating something supremely edible on a chilly evening.
🥣 Makes Excellent Leftovers: Make a big pot, stash some away, let it freeze for months. This soup survives the freezer and comes back exactly how you made it.
🛒 No Weird Ingredients: Everything's easy to find, clearly labeled, and not hiding in some cursed corner of grocery stores.
✅ Tested Worldwide: Like all my vegan recipes, this went through hundreds of real home testers with different stoves, ingredients, and patience levels.


🤫 Learn the secrets for perfect vegan Italian meals
This guide to my most popular plant-based Italian recipes is 100% FREE, & you'll love the actual heck out of it 🥰
🍲 Vegan Italian Wedding Soup Ingredients

The Vegan Beef
Either impossible beef or beyond meat work here, and other beef-style plant-based grounds with similar uncooked beef texture can sub in just fine.
Some traditional non-veg Italian wedding soups use ground sausage for that umami flavor, and if you want to do that, you can grind and mix in some of my vegan Italian sausage or vegan pepperoni as meat substitute.
Don't use my gluten-free vegan meatball recipe in this soup, as they will probably fall apart on you and make you super mad, and then you will throw your computer.
Breadcrumbs
Panko keeps the tiny meatballs tender and helps them hold together without turning dense. Regular breadcrumbs work, and even gluten free breadcrumbs do, if you are trying to make this GF.
Fennel seeds
The fennel seeds are there for that old-school sausage note. If that's not your thang or you're not buying a whole spice for one recipe, leave them out. But, then, you suckkkkk. Just kidding. You are ok, I guess.
Vegetable stock
Unsalted veggie stock keeps things under control since you'll be salting later anyway. If you can't find (or make) unsalted, grab low-sodium stock or mix bouillon with water, but cut back on the added salt in the recipe and taste as you go so it doesn't end up lasting like a mouthful of ocean water.
Acini de pepe pasta
This tiny pasta cooks quickly and distributes evenly throughout the soup. Other pastina-style shapes like orzo or stelline are great swaps. Some folks use ditalini, but it's not really the OG way to make this.
Spinach
I strongly recommend using mature, bunched spinach instead of baby spinach for this soup. The baby spinach becomes kinda slimy and breaks down a bit too much. That being said, the bunched spinach needs to be very throughly washed, as it tends to harbor some dirt and grit that will make your soup suck and make you cry.
Baby kale or chopped escarole are also sometimes used, so go with those instead if that's your thingy.
Vegan parmesan
I use my homemade vegan parmesan recipe because it grates well and a sprinkle of vegan parmesan cheese goes perfectly as a garnish.. No time or patience for making your own? Violife has a nice one, or you can skip it and you'll still have a quite lovely soup on your hands.
*See the recipe card at the bottom of the page for exact quantities, nutritional info, and detailed cooking directions.
📖 How to make Vegan Italian Wedding Soup
So here's how this is gonna go. I explain everything in a sane, linear way and you cook it without a meltdown. Or you can skip to the recipe card and raw-dog the process like a gosh darn goose.

Step One
You Might Wanna Wash Your Hands:
Add the plant-based beef to a mixing bowl along with the panko, chopped fresh parsley, garlic, oregano, fennel seeds if using, black pepper, and salt. Mix with clean hands until a firm parsley-speckled meat dough forms.

Step Two
For Whom the Balls Toll:
Shape the mixture into cute, sorta tiny little meatballs, each about 1 tablespoon in size, and arrange them on a tray.

Step Three
The Fresh Prince of Balls-Air:
Heat the olive oil in a wide skillet over medium-high heat. After 90 seconds, once the oil is hot, add the meatballs in a single layer without crowding and cook for 7 to 8 minutes, turning every 2 minutes so all sides brown lightly. Transfer the meatballs to a plate once cooked.

Step Four
I'm Looking at the Man in the Mirrorpoix:
In a large heavy-bottomed soup pot, heat the olive oil over medium heat. After 90 seconds, add the onion, carrots, and celery and sauté for 8 to 10 minutes, stirring regularly, until soft and fragrant.

Step Five
Garls in Charge:
Add the garlic, oregano, thyme, and crushed red pepper flakes. Continue cooking for 90 seconds, stirring constantly.

Step Six
Two-factor Brothentication:
Pour in the vegetable broth and add the salt. Raise the heat to medium-high and bring the soup to a steady boil.

Step Seven
Don't Make De Pepe in Your Pants Now:
Once boiling, stir in the acini de pepe and reduce the heat to medium. Cook for 6 to 8 minutes, stirring every 2 minutes, until the pasta is al dente.

Step Eight
Saved by the Balls:
Add the browned meatballs, chopped parsley, and spinach, then simmer over low heat for 5 minutes until the meatballs are heated through and the greens wilt. Taste and adjust the salt as needed.

Step Nine
Four Italian Weddings and a Funeral:
Ladle the soup into bowls and finish with grated vegan parmesan and minced parsley if using.
💡Serving Ideas
This soup is a worldwide banger on its own, but it's also extremely down to be part of a bigger Italian spread if you let it.
Rock it with a creamy mushroom risotto or white wine pumpkin risotto that looks like you suddenly understand Italian cooking at an emotional level.
Or go pasta-forward by making homemade pasta with vegan alfredo sauce, vegan spaghetti sauce, or vegan bolognese.
And do not skip dessert unless you are an absolute killjoy. This is the time for vegan tiramisu to shine, bomboloni leaking vanilla cream, or coconut panna cotta sitting there all smooth and smug. Now that's an Italian recipe lineup I would swipe right to on food Tinder.
👉 Top tips
- Browning the Meatballs: Give the meatballs real contact with the pan and don't rush the browning. That light crust keeps them intact in the soup. Otherwise they will probably disintegrate on you, and make you shake your fists in the direction of the sky as you do a long, sad moan of lamentation!
- Watch the Pastina Kinda Carefully: Acini de pepe cooks crazy fast and starts to turn into mush if ignored. Stir often and stop cooking at al dente.
- Add Greens at the Very End: Spinach goes in last for a reason. Early spinach is torn up, downright sucky spinach.
🤷♀️ Recipe FAQs
Pastina like acini de pepe spreads evenly throughout the soup and cooks quickly. Larger pasta kinda works (I guess…), but makes the soup feel clumsy.
Cook the pasta just to al dente and stir often. Tiny pasta keeps absorbing liquid, so pulling it at the right moment matters.
Note: If you're freezing this anyway, an ice wand is your friend. It cools the soup down fast and keeps the pasta from being all mushy.
🥶 Refrigerator Storage
Let the soup cool completely, then store it in an airtight container in the refrigerator for up to 4 days.
❄️ Freezer Storage
Transfer the cooled soup to freezer-safe containers with a little space at the top and freeze for up to 3 months.
🧊 Thawing Instructions
Thaw overnight in the refrigerator or warm gently on the stovetop over low heat with a splash of vegetable stock.
🔥 Stovetop Reheating
Reheat over medium-low heat, stirring occasionally, and add stock as needed to loosen the soup until heated through.
⚡️ Microwave Reheating
Place a portion in a microwave-safe bowl, cover loosely, and heat in short intervals, stirring between each round until hot. Add a bit of stock if the pasta has thickened the broth too much.
✌️You'll love these vegan Italian recipes too

Vegan Italian Wedding Soup Recipe
Ingredients
For the Meatballs:
- 12 oz. Beyond Meat or Impossible beef
- ½ cup panko breadcrumbs
- ⅓ cup parsley chopped
- 2 teaspoons garlic minced
- 1 teaspoon oregano
- ½ teaspoon fennel seeds optional
- ¼ teaspoon ground black pepper
- ½ teaspoon salt or to taste
- 3 tablespoons olive oil for browning in
For the Soup:
- 4 teaspoons olive oil
- 1 ½ cup onion, diced
- 1 ¼ cup carrots peeled and diced 1 cup celery, diced 1 tablespoon garlic, minced
- 1 teaspoon oregano
- ½ teaspoon thyme
- ¼ teaspoon crushed red pepper flakes
- 8 cups unsalted vegetable stock
- 1 ½ teaspoons salt or to taste
- ¾ cup acini de pepe pasta or other pastina
- ½ cup parsley chopped
- 4 cup mature bunched spinach leaves washed and chopped
Optional garnishes:
- Vegan parmesan cheese grated
- Parsley leaves minced
Instructions
- Place the plant-based beef in a mixing bowl. Add the panko, chopped parsley, garlic, oregano, fennel seeds if using, black pepper, and salt. Mix with clean hands until evenly combined.
- Form the mixture into compact meatballs, each roughly 1 tablespoon in size and set on a tray.
- Warm the olive oil in a wide skillet over medium-high heat. After 90 seconds, when the oil is hot, add the meatballs in a single layer without crowding. Brown over medium heat for 7-8 minutes, turning every 2 minutes so all sides are lightly browned. Transfer the cooked meatballs to a plate.
- In a large heavy-bottomed pot warm the olive oil over medium heat. After 90 seconds, when the oil is hot add the onion, carrots, and celery. Sauté over medium heat for 8-10 minutes, stirring regularly, until the fresh vegetables soften.
- Add the garlic, oregano, thyme, and crushed red pepper flakes. Continue to sauté for 90 seconds, stirring continuously.
- Pour in the vegetable stock and add the salt. Increase to medium-high heat and bring to a steady boil.
- Stir in the acini de pepe and reduce to medium heat for 6-8 minutes, or until the pasta is al dente, stirring every 2 minutes to prevent sticking.
- Add the browned meatballs, chopped parsley and spinach, and simmer over low heat for 5 minutes so the meatballs heat through and the greens wilt. Taste and adjust salt as needed.
- Ladle into bowls and garish with grated vegan parmesan and minced parsley if using.
Notes

Enter your email & I'll send it to your inbox. Plus, get great new recipes from me every week!
By submitting this form, you consent to receive emails from Cinnamon Snail.














Paige Davis says
“This is really good!” was overheard about 8 times at our kitchen table while we (the two of us) enjoyed this delicious soup. The pasta size is perfect, the mature spinach is a must, so much more flavorful than the baby leaves. It’s a straightforward, easy recipe and on this cold rainy Seattle night it absolutely hit the spot. I will only be making it Adam’s way from now on!
Marna says
Vegan Italian Wedding Soup With Meatballs
This is amazing soup! I have never had, actually never heard of Acini de pepe pasta! Have no idea how its pronounced but we had fun with it :). We loved it in the soup...I gave them 6 minutes to cook and they turned out perfect...beautiful tiny pearls who's texture perfectly complemented mature spinach and the delicious meatballs...oh and do use the fennel it really makes the meatballs. I use "Impossible meat" because I think Beyond is too strong. Oh, and after mixing with the called for ingredients, Adam's suggestion of just one tablespoon of mixture for making the meatballs makes the perfect size for this nuptial soup. Make this and fall in love!
Paula S Becker says
Absolutely delicious & very comforting soup my family really loved! The meatballs were out of this world!! I baked them in my Ninja oven at 375 and they browned beautifully. Used pearl sized couscous which looked pretty & added lovely color. Used bite sized chopped mustard geens & a bit of spinach.This will be in our regular rotation of soups perfect for any weather. The meatball recipe will be my go to recipe for appetizers, red sauce & soup. Thank you for creating this superb soup!!
Kimbi says
This is so good, it instantly became a family favorite!