Vegan Tofu Bolognese

This Vegan Tofu Bolognese is quick and easy to make, but you wouldn't know that from the taste! It's super flavorful and satisfying.

This Vegan Tofu Bolognese is high in protein, ultra-savory, and packed with veggies! What’s not to love? It’s the perfect dinner for those nights when you’re craving something comforting that doesn’t require too much effort. It’s also very budget-friendly, since we’re using tofu as our protein source as opposed to faux meat.

What Is Bolognese?

Bolognese is a ragù, or an Italian meat sauce, originating from Bologna, Italy. There is a fair bit of debate about how to make authentic bolognese, and after much research, it seems the dish varies quite a bit regionally! For reference, my version is a vegan-friendly adaptation of the recipe from Italian chef Gennaro Contaldo. I’ll link his video here if it piques your curiosity.

Here’s what we do know: Traditionally, bolognese is made with a combination of beef and pork (ground sausage and pancetta), with an aromatic base of soffritto (a mix of of diced onion, carrot, and celery). Most traditionalists say garlic has no place in bolognese, so I honored that in this rendition.

There is some disagreement over whether one should use A) tomato paste only or B) tinned tomatoes, such as crushed San Marzano tomatoes or passata. You may also notice that some recipes call for milk whereas others do not. My version uses tomato paste and no milk.

Ingredients for Vegan Tofu Bolognese

The ingredients for the soffritto all need to be finely diced. If you don’t like chopping things you can feel free to use a food processor and make quick work of it. Personally I hate cleaning my food processor so I just diced it up by hand.

  • Tofu. The protein for our bolognese. Tofu is plain and tasteless on its own, which means it’s going to soak up all of the flavors in this dish perfectly.
  • Carrots, onion, and celery. The vegetable base in our vegan bolognese. Once these are cooked in olive oil, it becomes soffritto.
  • Tomato paste. This is the tomato component of our sauce. It is ultra-concentrated and packs a ton of tomatoey goodness.
  • Dry wine. You can use either red or white wine in this dish, just make sure it’s not too sweet!
  • Beef-style veggie broth. A good beef-style vegetable broth will add depth of flavor and umami to our sauce. See the recipe card for my favorite brand recommendations. In a pinch, you can use regular vegetable broth and boost the umami with a tablespoon or two of soy sauce and/or nutritional yeast.
  • Pasta. Wide, flat pasta shapes such as tagliatelle or pappardelle tend to hold the sauce the best, although tube-like shapes also work well for this purpose.
  • Olive oil and vegan butter. For sautéing our veggies and adding richness to the sauce, especially since tofu is naturally quite low in fat.
  • Bay leaves. Adds a subtle, herby flavor to the tofu bolognese.
  • Vegan parmesan (optional). Technically optional but who doesn’t love a little pile of freshly grated parm on top of their pasta dish?
  • Red pepper flakes (optional). If you like the heat, add some in. If you’re not into that, leave them out!

How to Make Vegan Tofu Bolognese

Make the Soffritto

I like to use a combination of olive oil and vegan butter for this bolognese. Heat that over medium high heat. We like spicy food in this house so I added pepper flakes, totally optional. Then I like to give the onions a bit of a head start and sauté those until they’re translucent.

Then add in the carrot and celery and sauté for another 5 or so minutes.

Add in Protein of Choice

Now it’s time for our protein. Traditional bolognese usually calls for several kinds of meat, often a combination of beef and pork. There are many plant-based protein options that will work in this recipe; of course you could use something like Impossible, Beyond, or Gardein, but I didn’t want to rely too heavily on faux meat in this video so today we’re using tofu, which also happens to be quite budget-friendly.

This works best with either firm or extra-firm varieties. Or even super-firm tofu if you want to boost the protein even further.

Drain it and then crumble it into the pan and keep cooking until any excess liquid from the tofu cooks off and the tofu starts to brown just slightly.

A quick note here that you can also use textured vegetable protein (or TVP) for this recipe. If you’re familiar with soy curls, this is a very similar product but it comes as crumbles and you just need to rehydrate them with boiling water or broth before using. These are a great high-protein, fairly affordable alternative to meat as well and they perform great in things like vegan meat sauces or chili.

Add in Tomato Paste, Wine, & Broth

Now we’re going to add in some tomato paste and stir to coat all the ingredients. Then keep cooking until the tomato paste darkens to a deep rust color; this should take just a few minutes.

For some extra flavor you can deglaze the pan with a dry wine of choice. But if you don’t prefer to cook with wine you can simply deglaze with some vegetable broth.

And speaking of broth, for this recipe I recommend getting your hands on some vegan beef-style bouillon. This is the brand I usually have in my pantry but I am also a big fan of the No Beef base from Better Than Bouillon. It has much more umami and depth of flavor compared to a regular vegetable broth and it will make the sauce taste more savory and meaty since tofu on its own has very little flavor.

Set to Simmer

So add that into the pan along with a bay leaf or two. And once the mixture comes up to a boil you’re going to reduce the heat and let your vegan bolognese sauce simmer for about 10 minutes to thicken up and let all those flavors marry. In the meantime go ahead and prep your pasta.

Cook the Pasta

This is traditionally served with a flat, wide pasta like tagliatelle or pappardelle; these shapes hold the sauce best. Unfortunately I couldn’t find any where I usually shop, so we are using bucatini instead. I also wanted to mention that there are now several higher-protein pastas available these days, for example Barilla makes a protein plus pasta which has 10g of protein per serving, and there are also other pastas made from red lentils or chickpeas, so experiment to find what you like.

Cook your pasta till al dente and reserve some of that cooking liquid before you drain it. You can add your pasta directly into the bolognese sauce and add a splash of that starchy pasta water if needed to get your sauce coating your noodles.

Finish It Off

Top this with some vegan parm if you like, we always have a wedge of Violife vegan parm in our fridge or some of the follow your heart grated parm. And our vegan tofu bolognese is served!

Vegan Bolognese FAQ

Can I make this gluten-free?

Yes! The actual bolognese sauce is naturally gluten-free, so all you need to do is pick up your favorite gluten-free pasta and substitute it in.

How can I add more protein to this Vegan Bolognese?

If you want your vegan bolognese to be more protein packed to keep you jacked, there are a few substitutions you can make. First off, you can sub in something with higher protein for the tofu. TVP or a premade vegan beef ground like Impossible or Gardein are good choices here.

Secondly, you can swap in a protein pasta for the regular pasta. Two great options are Barilla Protein+ and Banza.

Storage & Reheating

This dish will last in the fridge for up to 5 days in an airtight container. Just pop it in the microwave when you’re ready to eat and it’ll be good to go!

If you want to freeze this dish, I would keep the sauce separate from the pasta and put it in the freezer by itself. That way, when you’re ready to defrost it, you can whip up some fresh pasta, heat up your bolognese sauce, and combine them as you normally would. Frozen and reheated pasta tends to not have the best texture.

More Vegan Pasta Recipes

Tofu Bolognese

This Vegan Tofu Bolognese is quick and easy to make, but you wouldn't know that from the taste! It's super flavorful and satisfying.
5 from 4 votes
Print Pin Rate
Author: Sarah Sullivan


  • 1 (14 oz) block extra-firm tofu drained and pressed
  • 2 tablespoons extra-virgin olive oil
  • 1 tablespoon nondairy butter
  • 1 small white or yellow onion finely diced
  • 2 stalks celery finely diced
  • 2 medium carrots peeled and finely diced
  • 1/3 cup tomato paste
  • 1/2 cup dry wine optional
  • 2 cups beef-style vegetable broth (see notes for recommendations)
  • 2 bay leaves
  • salt to taste
  • 8 oz dry pasta ideally a wide flat shape such as tagliatelle or papardelle


  • In a large skillet over medium-high heat, heat olive oil and/or vegan butter until melted.
  • Add onions and sauté for about 1 minute, until translucent.
  • Add celery and carrots and sauté for an additional 3-5 minutes, until just starting to pick up some color.
  • Crumble tofu into the pan and cook, stirring often, until any excess water in the tofu cooks off (i.e. until there is no loose water in the pan).
  • Add tomato paste and stir to coat the tofu and veggies. Then cook for an additional 1-2 minutes until the tomato paste goes from a vibrant red color to a deeper, rusty red color.
  • Optionally, deglaze the pan with a dry wine of choice. (Otherwise, deglaze with vegetable broth.) Use a wooden spoon to scrape up any fond from the bottom of the pan.
  • Add in the beef-style veggie broth. (If using a bouillon cube or paste, you can add it directly into the pan with the appropriate amount of water; you don't have to mix it ahead of time.)
  • Add bay leaves and bring the mixture up to a boil. Then reduce heat to low and simmer for 10-15 minutes, uncovered, to thicken the sauce and develop the flavors. During this time you can prepare your pasta according to package directions until al dente, reserving some of the starchy water from cooking.
  • When the sauce has reached your desired thickness, give it a taste and adjust salt and pepper to preference. (Exact amount of salt will vary depending on the brand of vegetable broth you used.)
  • Add in your al dente pasta and stir to coat, adding in a splash of reserved pasta water as needed to get everything to emulsify and coat the noodles.



Beef-style veggie broth: This will make the bolognese taste extra savory and meaty. My favorites are the Vegetarian No Beef Base by Better Than Bouillon or the Edward and Sons Not-Beef Bouillon Cubes. If you can’t find beef-style broth, you can use regular vegetable broth and boost the umami with 1-2 tablespoons of soy sauce instead, though the flavor will be less convincing.
Tofu alternatives:
  • Impossible Beef – Add after sautéing the aromatics and brown it off before adding the tomato paste.
  • Gardein Ground Beef (or other frozen beef-style crumble) – Add after sautéing the aromatics and brown slightly before adding tomato paste.
  • TVP (textured vegetable protein) – Prior to cooking, rehydrate TVP with boiling water at a ratio of 1:1. Let it sit for at least 5 minutes to rehydrate before adding to bolognese.
  • Lentils – 2 cups of cooked brown lentils, thoroughly drained and rinsed, can be used. The bolognese will have less of a meaty texture.
Recipe inspiration: This recipe was adapted from Gennaro Contaldo’s demonstration of authentic Italian bolognese in this video
Did you make this recipe?We’d love for you to leave a review on the website! You can also share a photo on IG and tag @sarahsvegankitchen_ or #sarahsvegankitchen.


  1. Mikayla Strickler

    5 stars
    This recipe was great for a quick Sunday dinner. Flavourful, satisfying and simple to make. I think the only tweak I might have, would be to add some crushed tomatoes to the sauce. Otherwise absolutely delicious! Very happy with how this turned out. Thank you Sarah, for yet another awesome recipe to add to our family’s weekly rotation 🙂

  2. 5 stars
    Super yummy! I ended up just using vegetable broth because it’s what I had and I still thought it tasted great.

Leave a Comment

Your email address will not be published. Required fields are marked *


Recipe Rating