For the filling: Cook lentils in a medium pot with 2 cups of water for 20-25 minutes until tender but still holding their shape. Drain any excess liquid and set aside.
- Heat olive oil in a large skillet. Add chopped onion, garlic, carrot, and celery. Sauté for 5-7 minutes until softened.
- Cook the potatoes for the filling in a separate pot, boiling until tender, about 10-12 minutes. Drain and set aside.
- Add cooked lentils to the skillet with vegetables, then stir in vegetable broth, diced tomatoes, tomato paste, soy sauce, thyme, rosemary, cumin, salt, and pepper. Simmer for 10 minutes until thickened. Stir in peas and cook for another 2-3 minutes. Remove from heat.
- For the mashed potato topping: Boil the peeled and diced potatoes in a separate pot until tender. Drain, then mash with non-dairy milk, vegan butter, salt, and pepper until smooth and creamy.
- Assemble: Preheat oven to 400°F (200°C). Spread lentil and vegetable filling in a greased baking dish. Spoon mashed potatoes evenly over the filling, smoothing with a spatula. Use a fork to create a pattern on top.
- Bake for 20-25 minutes until the top is golden. Let it cool for a few minutes before serving. Enjoy!