Preheat your oven to 360°F (regular bake, not fan-forced). If you're using a fan-assisted oven, reduce to 340°F.
Heat the olive oil in a large Dutch oven or deep skillet over medium heat. Add the diced onions, celery, and carrots. Cook, stirring occasionally, for 6–8 minutes or until softened.
Add the garlic, cumin, coriander, smoked paprika, and garam masala. Cook for another 1–2 minutes, stirring constantly, until fragrant.
Stir in the drained lentils, tomato paste, and soy sauce. Cook for 1–2 minutes to coat the lentils in the spices.
Add the hot vegetable broth and diced tomatoes. Bring to a boil, then reduce heat to a gentle simmer. Cook uncovered for 25–30 minutes, stirring occasionally, until the mixture thickens and reduces.
Meanwhile, place the chopped sweet potatoes in a large pot and cover with cold, salted water. Bring to a boil, then cook for about 10–12 minutes, or until fork-tender. Drain well.
Return sweet potatoes to the pot and mash with vegan margarine, miso paste, nutritional yeast, and soy milk. Season to taste with salt. Mash until smooth and creamy.
If using a Dutch oven, spread the sweet potato mash directly over the lentil filling. If you used a skillet, transfer the lentil mixture to a large oven-safe baking dish, then top with the mash. Smooth the top with a spatula, then run a fork across to create texture.
Drizzle or spray a little olive oil over the top and sprinkle with salt. Bake uncovered for 30 minutes, or until the top is golden and the filling is bubbling at the edges.
Let sit for 5–10 minutes before serving. Leftovers keep well in the fridge for up to 4 days.