Vegan Goulash Soup
Vegan goulash soup is a meat-free take on the classic Hungarian gulyas, built on a deep base of smoked paprika, onions, garlic and tomato puree, with textured soy protein cubes standing in for beef. It is a brothy, paprika-forward soup that simmers slowly until the soy soaks up all that warm, smoky flavor.

If you are from Romania, like me, I am sure you have tasted goulash a dozen times before, and I am pretty sure you have heard of it even if you are American. Goulash is something between a soup and a stew, and because I love a good goulash, I decided to transform the traditional recipe into a vegan one. I replaced the beef with textured soy protein cubes this time, because I truly believe they mimic the meat’s texture, and I am extremely happy with how everything turned out.
Even though this version has absolutely no trace of meat in it, I solemnly swear you will not miss it at all. All my recipes on the blog have hopefully convinced you that you can turn literally any dish into a vegan one without losing the authentic flavors. A big bowl of this soup is my perfect solution for a gloomy day or evening, and regardless of whether you are from Central Europe or not, I recommend making an authentic goulash soup at least once in your lifetime. I promise you will not regret it.
This Recipe Works If You Need
- A warm, filling bowl for a gloomy, cold day when you want comfort food that still feels light.
- A budget-friendly meal that feeds a crowd, which is why I recommend it to students and families alike.
- A meal-prep soup that holds up beautifully and tastes even better the next day.
- A meatless main that impresses guests; when you reveal it is the goulash, everyone is surprised it is vegan.
- A high-protein, plant-based dinner that delivers the texture of a hearty meat stew without any meat.

Why You’ll Love This Recipe
- It nails the meaty texture — the textured soy protein cubes, once boiled and simmered, turn tender and chewy in a way that genuinely stands in for beef.
- Paprika does the heavy lifting — smoked paprika is the essence of a good goulash, and it makes a world of difference, mark my word.
- It is naturally filling and frugal — a handful of pantry ingredients and a liter of stock stretch into a generous, satisfying pot.
- It is endlessly forgiving — the long, slow simmer means it is hard to overcook and easy to leave on the stove while you do other things.
- It only gets better with time — like my beans soup or my sauerkraut soup, it is just as good reheated, so it is built for leftovers.
Ingredient Notes
Textured soy protein cubes are my beef replacement here, and I truly believe they perfectly mimic the meat’s texture. Buy the larger chunk or cube format rather than fine mince so they read like stew meat. They are sold dry and shelf-stable, so check the package for the rehydration time; the boil step is what removes the raw, beany taste, so do not skip it.
Smoked paprika is the essence of this dish and the single ingredient that makes a goulash taste like a goulash. Look for a bright, deep-red powder with a fresh, smoky aroma; dull, brownish paprika has sat too long and lost its punch. Because spices fade, buy it in small amounts and store it away from light and heat.
Onions form the sweet, savory backbone of the soup. Slice them rather than dice them so they melt down into silky strands during the long simmer. Cooking them slowly until translucent before anything else goes in is what builds the base layer of flavor.
Garlic adds depth alongside the onion. Mince it fresh rather than using a jarred paste, and add it to the pan with the onion so it softens gently; raw garlic dropped into hot oil on its own scorches fast and turns bitter.
Tomato puree brings the acidity and color that balance the smoky paprika. Cooking it for a couple of minutes before the stock goes in deepens its flavor and cooks off the raw, tinny edge that tomato can have straight from the can.
Caraway seeds are the traditional, slightly anise-like note that signals an authentic Central European goulash. A teaspoon is enough; toasting them briefly in the pan with the paprika wakes up their aroma.
Vegetable stock is the body of the soup, so use a good one. A liter gives you a properly brothy result, more soup than stew; if you only have water, lean a little harder on the salt and paprika to make up the difference.

Tips
- Boil and drain the soy cubes well first. The 10-15 minute boil rehydrates them and rinses out the raw soy taste; draining thoroughly afterward keeps the soup from turning watery.
- Bloom the paprika, do not burn it. Stir it in over gentle heat for only a minute or two with the cubes. Paprika scorches in seconds on high heat and turns bitter the moment it does, so keep the pan moving.
- Cook the onions until fully translucent. Rushing this step leaves them sharp; you want them soft and sweet before the paprika and tomato go in.
- Give it the full slow simmer. The 30-40 minutes of gentle cooking is when the soy cubes drink up the broth and the flavors marry. You know it is ready when the soy is tender and the broth has turned a deep, rusty red.
- Taste and adjust at the end. Stock varies in saltiness, so check the seasoning right before serving and add salt, pepper or a touch more paprika as needed.
Substitutions and Variations
- Swap the protein. If you cannot find textured soy protein cubes, larger soy chunks, seitan pieces or firm, pressed tofu cut into cubes all work; just keep the boil-and-drain step for the soy versions.
- Make it heartier toward a stew. The traditional version leans on carrots, red bell pepper and potatoes. Add diced potatoes and carrots for a thicker, more stew-like bowl, and reduce the stock slightly.
- Dial the heat. Goulash takes well to a pinch of hot paprika or chili; I like serving mine with a fresh green chili pepper on the side to keep it at least a bit traditional.
- Brighten the finish. A spoonful of vegan sour cream stirred in at the table, or a scatter of fresh parsley, rounds out the smoky depth.

Storage and Make Ahead
This soup is built for making ahead, which is exactly why I recommend it for meal prep. Cooled fully and stored in an airtight container, it keeps in the fridge for up to four days, and like most paprika-based soups it tastes even better on day two once the flavors have settled. Reheat it gently on the stove, adding a splash of water or stock if it has thickened. It also freezes well for up to three months; thaw overnight in the fridge before warming through.
If you love a filling, make-ahead bowl like this, you will probably enjoy my other cold-weather soups too. This vegan goulash is a close cousin of my hearty beans soup and my sauerkraut soup — all three are just as filling and delicious, even though the three of them have pretty different flavors. For more cozy options, browse my full collection of vegan stews and chilis.
Summarise & Save This Recipe
★ Add us as a trusted Google source
Vegan Goulash Soup
Ingredients
- 50 g textured soy protein cubes
- 2 onions sliced
- 2 cloves garlic minced
- 5 Tbsp tomato puree
- 1 L vegetable stock or water
- 2 Tbsp smoked paprika
- 1 tsp caraway seeds
- 2 Tbsp olive oil
- salt
- black pepper
Instructions
- In a pot, bring some water to a boil, add the soy cubes and cook for 10-15 minutes. Drain well.
- In a large pan, saute the garlic and onion in olive oil until translucent.
- Add the soy cubes. Season with salt, pepper, smoked paprika, and caraway seeds, then cook for 1-2 minutes.
- Add the tomato puree, stir, and cook for 2-3 minutes.
- Add the vegetable stock, lower the heat, and cook for 30-40 minutes, stirring occasionally, until the soy cubes are tender and the broth turns a deep rusty red. Taste and adjust the seasoning before serving.
Notes
Frequently Asked Questions
Traditional Hungarian goulash is a paprika-rich dish somewhere between a soup and a stew, built from beef cubes, onions, garlic, tomato and lots of paprika. This vegan version keeps the same smoky base of smoked paprika, onions, garlic and tomato puree but swaps the beef for textured soy protein cubes simmered in vegetable stock.
Goulash sits between the two. The authentic Hungarian gulyas is a soupy dish, while thicker, drier versions read more like a stew. This recipe is made as a soup, so it is more liquid than a stew, but you can reduce the stock and add potatoes and carrots to push it toward a heartier, stew-like bowl.
Textured soy protein cubes are the best stand-in because they mimic the chewy texture of beef once boiled and simmered. Larger soy chunks, seitan pieces or firm pressed tofu cut into cubes also work. For the soy options, always boil and drain them first to remove the raw, beany taste.
Paprika is the essence of goulash and the spice that gives the dish its signature color and warm, smoky flavor. Smoked paprika in particular makes a world of difference. Stir it in over gentle heat for only a minute or two, since paprika scorches quickly on high heat and turns bitter the moment it burns.
Yes, it is ideal for making ahead and meal prep. Stored in an airtight container, it keeps in the fridge for up to four days and actually tastes better on day two once the flavors have settled. It also freezes well for up to three months; thaw it overnight in the fridge before reheating gently on the stove.
Add paprika to the pan over low or gentle heat and stir it constantly for just one to two minutes, off direct high heat if possible. Paprika is high in sugar and scorches in seconds, and once it burns it turns acrid and bitter. Adding the tomato puree and stock soon after also protects it from over-toasting.

Hi,
I am thinking of making a big pan of this soup for friends. But the textured soy protein you mention, is this TVP? Or mock meat from the store? And what is it like if I leave it out or replace it with beans?
Thanks,
Myra
Hi! It’s TVP. You can also replace it with beans, but the cooked soy protein texture is really nice and resembles meat a lot better than beans.
I just made the Soup!!! And this is definatly the real deal. Love it. Will make this more. Thank you for the recipe
Happy you liked it! 😀
Stew, soup, doesn’t really matter to me. Thing is: it’s SO GOOD! ❤️