I see you—standing in the grocery store line, eyeing that pack of ground beef and two kinds of cheese, wondering if tonight’s comfort food is about to wreck your budget. Go ahead and put them back, friend! This Vegan Lasagna recipe is here to save dinner (and your wallet). It’s hearty, surprisingly creamy, and packed with serious plant-based protein thanks to a powerhouse mix of tofu, lentils, and beans. You’ll get all the cozy, saucy, layered goodness of classic lasagna, just without the price tag or the meat. Trust me, this budget-friendly, dairy-free lasagna is proof that you don’t have to spend big to eat big.

Using everyday vegan staples like lentils, tofu, beans, and walnuts, this recipe is layer after layer of plant-based goodness. I make a homemade “ricotta” from tofu and cannellini beans, build a hearty meatless filling with lentils, mushrooms, sun-dried tomatoes, and walnuts, and tuck them between layers of marinara, spinach, and lasagna noodles. Everything comes together with a deep, umami flavor that makes each slice feel extra cozy and satisfying.
But what is umami, you ask? Umami is the savory “fifth taste” that makes food crave-worthy! And you don’t need meat to get umami! The tomatoes, mushrooms, and walnuts I use in this recipe bring it naturally. Even better, this whole pan lands at about 180 grams of protein total for roughly $15, which beats our already budget-friendly meat-and-cheese lasagna when you compare the price per serving. And the higher cost of meat and dairy can really make those prices jump!
All this to say, it doesn’t matter if you’re vegan, dairy-free, or just craving a lighter version of your favorite comfort food; this homemade vegan lasagna hits all the right notes.

See how we calculate recipe costs here.

Gather all of your ingredients and preheat the oven to 375°F.

Prep the lentil layer: Cook the lentils by bringing 3 cups of water, ½ cup of lentils, and 1 tsp salt to a boil. Once boiling, lower the heat and let them simmer for about 15-20 minutes, or until they’re cooked but not falling apart or mushy. Drain any remaining liquid and set them aside.

Place ¼ cup sun-dried tomatoes, ¼ cup walnuts, and 8 oz. white mushrooms in a food processor.

Pulse several times until everything is finely chopped and evenly combined. You’re aiming for a texture similar to hand-minced vegetables. Pause to scrape down the bowl whenever needed so everything gets processed evenly.

Cook the noodles: Meanwhile, bring a large pot of water to a boil and cook 16 oz. lasagna noodles for 8-10 minutes, or until just al dente. They’ll soften more in the oven. Toss the noodles with 1 tsp olive oil to prevent sticking, then keep them covered with a clean towel or the pot lid so they are less likely to stick together and dry out.

Sauté the mushroom mix: Warm 1 Tbsp of the reserved sun-dried tomato oil (or olive oil, if using dry-packed tomatoes) in a sauté pan over medium-low heat. Stir in ½ tsp salt and the mushroom mixture. Let it cook slowly, checking in from time to time, while you move on to the next steps. The mushrooms will release moisture, then absorb it again as they continue to cook, so keep an eye on things to avoid burning.

Make the tofu ricotta: Meanwhile, break up 1 lb. block extra firm tofu (strain excess water and give each piece a gentle squeeze over the sink, but no need to press the tofu—a little moisture is good for this recipe!) Add the tofu to the food processor along with ½ tsp salt, 1 Tbsp lemon juice, 1 Tbsp Italian herb seasoning, the entire 15.5 oz. can of white beans with its liquid, 4 garlic cloves, and 1 tsp black pepper.

Process until everything blends into a smooth, ricotta-like mixture with no lumps.

Finish the lentil layer: Add 1 Tbsp Italian herb seasoning, the cooked lentils, and 14.5 oz strained petite diced tomatoes to the sauté pan with the mushroom mixture. Cook for another 5 minutes, stirring occasionally, until everything is well combined and fragrant.

Assemble the vegan lasagna: Spread a thin layer of marinara sauce across the bottom of a 9×13-inch baking dish, just enough to lightly coat the surface.


Lay down your first layer of noodles, slightly overlapping them so they form a continuous base. Then, spoon out half of the tofu ricotta and spread it gently and evenly over the noodles. The mixture is thick, so take your time.


Scatter the spinach evenly over the ricotta layer. Add another layer of noodles. Depending on your dish, you may need an extra noodle as you move upward and the pan widens.


Next, spoon on a generous amount of marinara sauce. Spread the entire lentil mixture over the sauce, smoothing it out so it’s evenly distributed.


Add another layer of noodles and spread the remaining tofu ricotta on top.


Add one final noodle layer, then cover the top with the rest of the marinara sauce. Sprinkle 1 tsp freshly minced parsley and 1 Tbsp freshly minced basil over the surface.

Bake: Cover the dish with foil and bake for 40 minutes. Remove the foil and bake for another 10 minutes to finish. Let it cool for about 10 minutes, then serve and enjoy!

I love serving this tofu lasagna with a bright side like my zucchini and corn salad (just skip the Parmesan to keep it vegan) and a slice of homemade garlic bread made with vegan butter. If you don’t fancy a salad, I also like a serving of sautéed green beans or roasted butternut squash to make the meal feel extra warm and cozy.
Keep leftovers stored in an airtight container in the fridge for up to 3–4 days. Reheat individual portions in the microwave or warm them in a covered dish in the oven at 350°F until heated through.
You can also freeze this vegan lasagna for up to three months, either as a whole pan or in individual portions wrapped well and tucked into a freezer-safe container or bag. Just keep in mind that cooked tofu can become denser once frozen and thawed. The mushroom layer may also release some liquid, so freezing is best if you don’t mind some texture changes. Let it thaw overnight in the fridge before reheating.
The post Vegan Lasagna appeared first on Budget Bytes.