Preheat the oven to 400 degrees. Mince spinach in a food processor, then stir in ricotta or cottage cheese. Set aside. Spread about 1 cup of marinara sauce in the bottom of a 13" by 9" baking dish, and arrange 3 lasagna noodles over top. Spread another 1 cup of sauce over noodles, and add half of the roasted vegetables and 1/3 of the cheese. Top with 3 more noodles, then the spinach/cottage cheese mixture. Repeat with another layer of sauce, vegetables and cheese. Top with noodles, the remaining sauce, the remainder of the mozzarella, plus the parmagiano reggiano, if using. Bake uncovered for 35-45 minutes, and let rest 10 minutes before cutting.
Heat oil in a large saucepan over medium-high heat. Saute onion until translucent, about 5 minutes. Add garlic and saute 2 minutes. Stir in tomato paste and canned tomatoes. Simmer 20 minutes, uncovered. Puree sauce with an immersion blender, or in batches if using a regular blender. Season well with salt, tasting as you go.
Preheat broiler, and arrange a rack at top of the oven. Slice eggplant into 1/4 inch rounds. Sprinkle generously with salt on both sides, and layer in a colander. Let eggplant sit for at least 15 minutes, then rinse with cool water and dry well with paper towels.
Slice portobello mushroom caps into 1/3 inch strips. Coarsely chop stems. Toss mushrooms and eggplant with 1/4 cup oil and arrange in a single later on a baking sheet. Broil until soft and charred, flipping after about 6 minutes and cooking about another 3 minutes on the other side.