Place the potatoes in a medium pot and cover with water. Cover the pot with its lid and bring to a boil. Reduce the heat to a simmer and cook until the potatoes can be pierced with a knife - about 20 minutes.
Remove the potatoes from the water and allow to cool. Once cool enough to touch, peel off the skin, place the potatoes in a bowl and mash, adding the vegan butter, milk, 1 teaspoon of salt and pepper. Once mashed, set aside.
While the potatoes are cooking, dice one of the eggplants into cubes. Heat a large pan over medium heat and add 1 - 2 tablespoons of oil. Add the diced eggplant and fry, stirring from time to time, until golden brown on all sides and soft all the way through - about 10 minutes.
Remove the eggplant to a plate and repeat with the second eggplant and remove it to the plate.
Add another drizzle of oil to the pan and fry the onion and garlic until soft and fragrant. Add the tomato paste and fry, stirring, for 2 minutes or until the paste darkens slightly. Add the spices and fry for 30 seconds to bring out the flavours.
Add the can of diced tomatoes, water, and chickpeas. Reduce the heat to a gentle simmer and simmer until you have a thick tomato sauce - about 5 minutes.
Add the eggplant, grate over the lemon zest and add the remaining 1 teaspoon of salt to the pan.
Transfer the filling to a casserole dish and spoon over the mashed potato. Smooth the mashed potato to cover the filling, then run a fork over it to created peaks and crevices that will brown nicely in the oven.
Transfer the casserole to the top of the oven under the grill and grill until the mashed potato is golden brown and beginning to crisp - about 10 minutes.