Cook the lentils: Rinse lentils under cold water. Add to a pot with vegetable broth and enough water to cover by 1–2 inches.
Bring to a boil, then simmer 18–22 minutes until just tender. Drain well and set aside.
Preheat and prep: Heat the oven to 375°F (190°C). Lightly grease a 9x13-inch baking dish.
Sauté the aromatics: Heat olive oil in a large skillet over medium heat.
Add onion with a pinch of salt and cook 5–6 minutes until soft. Stir in garlic and cook 1 minute until fragrant.
Cook the mushrooms: Add sliced mushrooms. Cook 7–9 minutes, stirring occasionally, until the mushrooms release their moisture and brown.
Season with pepper.
Build the base: Stir in tomato paste, thyme, oregano, smoked paprika, and red pepper flakes. Cook 1–2 minutes to toast the spices. Add diced tomatoes and soy sauce.
Simmer 3–4 minutes to thicken slightly.
Add greens (optional): Fold in spinach or kale and cook just until wilted. Taste and adjust salt and pepper.
Combine with lentils: Add the cooked lentils to the skillet and stir to coat in the saucy mixture. If it looks dry, add a splash of water or broth.
You want a thick, scoopable consistency, not soupy.
Mix the cheesy layer: In a bowl, whisk eggs, Greek yogurt or ricotta, and half of the shredded cheese. Season with a pinch of salt and pepper.
Assemble the bake: Spread the lentil-mushroom mixture in the prepared dish. Dollop and gently spread the cheesy mixture over the top.
Sprinkle with remaining shredded cheese and Parmesan. If using, scatter bread crumbs for extra crunch.
Bake: Place in the oven for 20–25 minutes, until bubbling at the edges and the top is golden.
Rest and serve: Let it rest 10 minutes to set. Slice into squares and serve warm.