Heat up the oil in a large pot with a lid, add chopped onion and garlic and fry for 5-8 minutes until softened and translucent but not coloured.
Add curry paste, tomato puree and all the spices and fry them with onions for a couple of minutes. At this point your kitchen will start to smell amazing!
Add lentils followed quickly by veggie stock and coconut milk. Keep stirring and prodding until the solid part of the coconut milk melts into the liquid.
Add cauliflower florets and make sure they are immersed in the liquid. Bring curry to boil, cover (at which point you lower the heat) and simmer for about 10 min stirring from time to time.
After 10 minutes add cubed sweet potato making sure it is immersed in the liquid. You might need to add a splash of water or stock if mixture is getting a bit dry. Simmer for another 5-10 minutes until both cauliflower and sweet potato are tender.
Add two handfuls of fresh spinach leaves and mix it in.
Take curry off the heat, taste and season well with salt and pepper. Add the juice of one lemon (or to taste) and mix in chopped coriander/cilantro stalks and leaves (leaving some leaves as garnish).
Serve with rice and/or flat breads of your choice.