Fill Dutch oven or stockpot with 3-4 inches of water and place on stovetop on high heat. Bring water to a boil. Once boiling, add broccoli florets and blanch for 2 minutes. When there’s only 30 seconds remaining, add the kale and blanch. Turn off the heat and remove the blanched vegetables with a slotted spoon or strain through a colander. This is the base of your pesto. Place the blanched vegetables in a blender and add the basil, pine nuts, parmesan cheese (optional), garlic, sea salt, and olive oil. Blend until smooth with the consistency of a traditional pesto. Makes about 2 cups. Pour into a bowl and set aside.
Add 1 tablespoon of olive oil to a Dutch oven or stockpot and turn the heat on medium to high heat. Add the onion and salt, and sauté until translucent and tender, about 5-7 minutes. Add the garlic, dried herbs, and red pepper flakes, and sauté for an additional 30 seconds or until fragrant. Finally, add the tomato paste and sauce, diced tomatoes with juices, and balsamic vinegar and bring to a boil on high heat. Reduce to a simmer and let cook on low for 30-60 minutes, but 10 minutes will do in a pinch. At this stage, you can leave your sauce as is to simmer with pieces of diced tomatoes or, as I like to do, use an emersion blender and purée. This makes about 4 cups of sauce (depending on how long you simmer).
In a food processor, add the tofu, milk, and salt and process until smooth. If you’d like, add the egg now and process until fully incorporated. This helps to hold the ricotta together in between the lasagna layers but it’s not necessary. Pour into a bowl and set aside.
All of the lasagna components are completed and now it’s time to assemble the lasagna. Pour 1 cup tomato sauce in the bottom of a 9”x13” rectangular baking dish and spread evenly. Next, neatly layer 6 lasagna noodles across the bottom of the pan. You may need to use more or less depending on the size of the noodles—I use 3”x6” noodles. It’s ok if the noodles overlap. Next, add 1 cup of the “ricotta” and spread evenly over the noodles with the back of a spoon. Add the eggplant slices next side-by-side in a single layer. Add 1 cup of pesto over the eggplant and spread evenly with the back of a spoon. Then add 6 more lasagna noodles and gently press down, compacting the layers below.
Next, add 2 cups of tomato sauce and spread evenly over the noodles with the back of a spoon. Lay the zucchini slices in a single layer on top, then add the remaining “ricotta”, spreading evenly and gently. Add another layer of noodles and gently press down and then add the rest of the pesto. Finally, add the remaining tomato sauce. You made it! Top with mozzarella and parmesan. Alternatively, you can use a dairy-free or vegan cheese of your choice or omit entirely.
Bake uncovered for 40-50 minutes until the cheese is golden brown and bubbly, or if not using cheese, until a knife inserted in the center easily goes through all of the layers. Remove from the oven and serve hot. Leftovers can be stored in the refrigerator in an airtight container for 3-5 days.
If planning to freeze this lasagna, I recommend freezing it before cooking it for the best outcome. If you go this route, leave the assembled but not baked lasagna in the baking pan and cover with plastic wrap, placing the plastic directly on top of the lasagna and then over the edges and around the bottom for a tight seal. Then, wrap the entire pan with foil creating another tight seal. This lasagna freezes well for up to 1 month. When ready to bake, remove the pan from the freezer and let thaw overnight in the refrigerator. Remove the plastic wrap and foil and before baking at 425 F for 40-50 minutes until cooked through and bubbling.