Preheat & roast eggplant: Preheat oven to 400 °F (200 °C). Brush both sides of the eggplant slices with olive oil and season lightly with salt and pepper. Arrange in a single layer on a parchment-lined baking sheet and roast 20–25 minutes (flipping halfway) until tender and lightly golden. Remove and set aside. The roasted eggplant should be soft yet hold its shape.
Prepare the sauce: While eggplant roasts, heat olive oil in a large skillet over medium heat. Add onions and cook 4–5 minutes until translucent and soft. Add garlic and sauté 30 seconds until aromatic. Add ground meat (or lentils), season with salt, pepper, Italian herbs, and chili flakes if using. Brown the meat, breaking it apart as it cooks. Once browned, stir in crushed tomato sauce and water/broth. Bring to a simmer, reduce heat to low, and let cook gently for 10–12 minutes until slightly thickened. Taste and adjust seasonings.
Mix ricotta-spinach filling: In a bowl, combine ricotta, chopped spinach, Parmesan, beaten egg, nutmeg (if using), salt and pepper. Stir until smooth and evenly blended.
Assemble the lasagna: In a 9×13-inch baking dish, spread a thin layer (about ½ cup) of the tomato-meat sauce on the bottom. Arrange a layer of roasted eggplant slices over the sauce, overlapping slightly. Spoon half of the spinach-ricotta filling over the eggplant, smoothing gently. Pour about one-third of the remaining sauce over the cheese layer. Repeat: eggplant, ricotta filling (remaining), sauce. Finish with a final layer of eggplant if space allows, then sprinkle mozzarella and Parmesan evenly on top.
Bake: Cover with foil and bake at 375 °F (190 °C) for 25 minutes. Remove foil and bake an additional 15–20 minutes, or until cheese is melted, bubbling, and the top turns golden brown.
Rest & serve: Let the lasagna rest 10 minutes before slicing — this helps the layers set and makes cutting neat. Garnish with fresh basil or parsley, a drizzle of olive oil, and red pepper flakes if desired. Serve warm.