Bring a large saucepan of water to the boil. Meanwhile, peel the carrot and sweet potato and cut them into dice. Boil for 10 minutes.
Meanwhile, heat the oil in a large lidded frying pan or casserole dish, then peel and chop the onion and add to the pan, frying over a gentle heat for 3-4 minutes until starting to soften.
Drain and rinse the cannellini beans and lentils and add them to the pan with the onions, followed by the tomatoes, stock powder and gravy granules. Refill the empty tomato tin with water to about two-thirds full, then add this to the pan.
When the carrot and sweet potato have just cooked through, remove them with a slotted spoon and add them to the pie filling, (don't drain the water away just yet!). Stir and cover, and leave to simmer for 10 minutes. Taste and season with salt and pepper if required. If the mixture gets too dry, just add more water - this should have the consistency of a thick gravy. (And if it seems too runny, just cook with the lid off for a few more minutes).
Keep the saucepan of water simmering whilst you peel the potatoes for the mash, cut them into dice, then add them to the saucepan and boil for 10-15 minutes until soft.
Meanwhile, chop the kale and spring onions as finely as possible, (I used a mini-chopper/food processor). When the potatoes are ready, drain them, return to the pan then add the kale, spring onions, milk and margarine and mash until smooth. Taste and season with salt and pepper if required.
Tip the pie filling into a large ovenproof dish, then top with the mashed potato. I used a piping bag to create a pretty topping, but you can just spread it with a knife and use a fork to create a pattern if you prefer).
Bake in the oven for 30 minutes until the topping is just turning golden brown, and the filling is bubbling.