Wash the dal thoroughly. Place in a bowl, cover with cold water and leave to soak for 30 minutes, then drain through a sieve.
Trim the top off the onions and cut each in half through the root. Remove the dry layers of skin, then chop each onion half into small dice, discarding the root.
Trim the bottom off the garlic cloves, remove the skin and chop the garlic into thin slices and then small pieces.
Cut the stalk off each chilli, then cut down the length and open the chilli up. Remove the white parts and seeds, then cut the chilli into thin strips and then very small dice
Peel the ginger, then grate it on the fine-holed grater.
Peel the butternut pumpkin and sweet potato, then cut into 2 cm cubes.
Remove any green leaves from the cauliflower, then cut it into small pieces, discarding the base of the stalk.
Bring a small saucepan of water to the boil, add the dal and simmer for about 10 minutes or until just cooked through.
Place a dry frying pan over a low heat, then add the coriander seeds and stir with a wooden spoon until they are fragrant (this should take 1-2 minutes).
Tip onto a plate to cool completely, then grind to a powder. If you don't have a spice grinder, place the seeds in a zip-lock bag, seal, then bash with a wooden rolling pin until crushed.
Heat the sunflower oil in the large, heavy-based saucepan on a medium-high heat and fry the fenugreek and mustard seeds for about 30 seconds, until the seeds splutter and change colour.
Add the onion, garlic, green chilli, ginger, curry leaves and turmeric and fry for 3-4 minutes, until the onion has softened and taken on a little colour. Add the ground coriander seeds and chilli flakes (if using), then t
Reduce the heat to medium and bring the curry to a gentle boil. Simmer for 15 minutes, or until the vegetables are al-dente (just firm to the bite), then add the cooked dal. Cook for a further 10 minutes, until the vegetables and dal are soft but still holding their shape.
Meanwhile, cut the lemon in half and squeeze it through the sieve into a small bowl. Pick the leaves off the sprigs of coriander.
Season the curry with lemon juice and salt, to taste. Remove the pan from the heat and stir in the coriander leaves. Serve with steamed basmati rice.