Start by cooking the lentils in a large pot of water until tender but not mushy (about 20-25 minutes). Drain and set aside.
While the lentils cook, place the potatoes in a separate pot, cover with water, and boil until fork-tender (about 15-20 minutes).
In a large skillet, sauté onions, carrots, and celery in a bit of oil until the onions are translucent (about 5 minutes).
Add mushrooms and garlic, cooking until mushrooms release their moisture (about 5 minutes more).
Stir in the cooked lentils, tomato paste, vegetable broth, thyme, and rosemary. Simmer for 10 minutes until the mixture thickens.
Meanwhile, mash the cooked potatoes with plant-based milk, vegan butter, garlic powder, and salt until smooth and creamy.
Preheat your oven to 375°F (190°C).
Transfer the lentil mixture to a 9x13 baking dish, spreading it evenly.
Top with the mashed potatoes, creating peaks with a fork for extra crispiness.
Bake for 25-30 minutes until the top is golden brown and slightly crispy.