Bring large pot of salted water to the boil. Add the potatoes and cook for 12-14 minutes until completely soft. Drain and then pour them back into the pan. Add the butter, nutritional yeast, milk, salt and black pepper, and mash together until mostly smooth (some chunks are okay).
Preheat oven to 230˚C.
Trim the root and any wilted green tips of the leeks and then finely slice both the white and green parts. Place them in a colander and wash well, taking care to remove all dirt and sediments. Drain.
Heat a shallow, wide Dutch oven or large ovenproof frying pan on medium. Add 2-3 tablespoons of olive oil, along with the leeks and ½ teaspoon of salt and stir well. Cook, stirring for 8-10 minutes until the leeks are tender and starting to caramelise.
Add the cauliflower, garlic, cumin, coriander, chilli, turmeric, curry leaves (if using), 2 teaspoons of salt and season with black pepper. Then stir for 2 minutes until cauliflower is well coated in the spices. Add the tomatoes and beans, then cover and cook for 10 minutes to soften the cauliflower. Stir in the peas.
Dollop the mashed potatoes on top of the curry and, using a spatula or back of a large spoon, spread it out to cover the curry. Drag a fork along the top of the potato to create a textured top (which will caramelize in the oven). Drizzle the potato generously with olive oil and place in the oven.
Bake for 20-25 minutes, until the top is golden and the curry is bubbling around the sides. If the potato is not yet as golden as you like, you can place it under a hot grill for 60 seconds or so to create a burnished top.
Allow to sit for 10 minutes and then serve.
