Preheat your oven to 400°F (200°C).
In a large skillet, heat olive oil over medium heat. Add diced onion and cook until translucent, about 5 minutes. Add minced garlic and cook for another minute.
Add mixed vegetables to the skillet and cook for 5-7 minutes until they start to soften. Stir in lentils, tomato paste, vegetable broth, thyme, and rosemary. Season with salt and pepper to taste. Let it simmer for 10 minutes.
While the filling is simmering, boil the potatoes in a large pot of salted water until tender, about 15 minutes. Drain and return to the pot. Add non-dairy milk and vegan butter, then mash until smooth. Season with salt and pepper to taste.
Transfer the filling to a baking dish and spread it out evenly. Spoon the mashed potatoes on top and spread them out to cover the filling completely. Use a fork to create some texture on the surface.
Bake in the preheated oven for 20 minutes, or until the top is golden brown. Let it cool for a few minutes before serving.