Vegan Italian-American Lasagna With "Ricotta" Recipe

Vicky Wasik

Why This Recipe Works

  • Infusing the almond milk with aromatics delivers a better béchamel flavor.
  • Blending firm tofu into the cauliflower purée creates the textural impression of ricotta.
  • Store-bought vegan cheese substitutes are terrible (we know, we tried a bunch during testing); this creamy vegan béchamel works much better.

Classic Italian-American lasagna is a difficult dish to make vegan without essential dairy ingredients like ricotta cheese and mozzarella. The secret to this convincing version is to offer up familiar textural and flavor cues so that you're less likely to notice what's not there.

Recipe Details

Vegan Italian-American Lasagna With "Ricotta" Recipe

Active 60 mins
Total 90 mins
Serves 10 servings


For the Vegan "Ricotta":

  • 1 (14-ounce; 395g) block firm tofu, drained

  • 1 cup (235ml) unflavored, unsweetened almond milk

  • 2 teaspoons dried oregano

  • 2 (2-pound; 900g) heads cauliflower (4 pounds total), stalks discarded and florets cut into 1-inch pieces

  • 2 tablespoons (30ml) refined neutral coconut oil (see note)

  • 25 fresh basil leaves from one large bunch, chopped

  • 3 medium cloves garlic, minced

  • Kosher salt and freshly ground black pepper

For the Vegan Béchamel:

  • 2 cups (475ml) unflavored, unsweetened almond milk

  • 1 bay leaf

  • 5 sprigs thyme

  • 10 whole black peppercorns

  • 3 medium cloves garlic, crushed

  • 3 tablespoons (45ml) refined neutral coconut oil

  • 3 tablespoons (25g) all-purpose flour

  • Generous pinch freshly grated nutmeg

For the Lasagna:


  1. For the Vegan "Ricotta": Cut tofu into 1 inch thick slabs. Set tofu on paper towels, lay more paper towels on top and press to extract any excess moisture. Set aside.

  2. In a Dutch oven or large saucepan, combine almond milk and oregano. Add cauliflower, cover, and bring almond milk to a boil over high heat. Continue to cook, covered, until cauliflower is fully tender, about 10 minutes; adjust heat as necessary to maintain boil while preventing scorching.

  3. Add coconut oil, basil, and garlic. Using an immersion blender, purée cauliflower until very smooth. Add tofu and purée into cauliflower until well incorporated; the resulting purée should have a slightly grainy, ricotta-like texture thanks to the tofu. Season with salt and pepper. Set aside.

  4. For the Béchamel: In a small saucepan, combine almond milk with bay leaf, thyme, peppercorns, and garlic. Bring to a bare simmer, then lower heat to maintain a bare simmer for 20 minutes. Strain almond milk into a heatproof measuring cup and discard aromatics.

  5. In a small saucepan, heat coconut oil over medium heat until melted. Add flour and cook, whisking, until raw flour smell is gone, about 2 minutes.

  6. Whisking constantly, add infused almond milk in a thin, steady stream, or in increments of a couple of tablespoons at a time, whisking thoroughly and getting into all corners of the pan to maintain a homogeneous texture. Sauce will initially become very thick, then get very thin once all the milk is added.

  7. Heat, stirring, until sauce comes to a simmer and begins to thicken slightly. Reduce heat to low and cook, stirring, until béchamel sauce is thick enough to coat the back of a wooden spoon, about 3 minutes. Stir in nutmeg and season with salt and pepper.

  8. For the Lasagna: Adjust oven rack to center position and preheat oven to 425°F (220°C). Drain pasta well. In a 9- by 13-inch baking dish, lay down a single layer of lasagna sheets to cover the bottom of the dish. Spread an even layer of vegan "ricotta" top, then spread a layer of tomato sauce (or vegan ragù, if using) on top of that. Drizzle with some of the béchamel. Repeat in alternating layers of pasta, "ricotta," tomato sauce (or ragù), and béchamel sauce until baking dish is full and/or any of the components is used up. The final layer should be tomato sauce (or ragù) with béchamel drizzled on top. You may have some of the vegan "ricotta" left over, which can be reserved for another use (such as spreading on toasts).

  9. Set baking dish on a rimmed baking sheet and bake until lasagna is browned on top and bubbling, about 25 minutes. Let lasagna rest 20 minutes before serving. Cut individual portions and serve while still warm.

Special equipment

9- by 13-inch baking dish, rimmed baking sheet, fine-mesh strainer, immersion blender


Make sure to use refined neutral coconut oil, not a virgin oil that still smells and tastes of coconut.

This Recipe Appears In

Nutrition Facts (per serving)
307 Calories
15g Fat
33g Carbs
13g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 10
Amount per serving
Calories 307
% Daily Value*
Total Fat 15g 19%
Saturated Fat 7g 36%
Cholesterol 37mg 12%
Sodium 997mg 43%
Total Carbohydrate 33g 12%
Dietary Fiber 8g 28%
Total Sugars 12g
Protein 13g
Vitamin C 80mg 400%
Calcium 202mg 16%
Iron 4mg 20%
Potassium 798mg 17%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)