Heat some of the coconut oil in a large pan and add the chopped onions. Cook on a medium heat for 6-8 minutes or until soft.
Add in the salt, chopped garlic, ginger, and chilli, and cook for a further few minutes.
Once they've softened, add a touch more oil followed by the cardamom pods, garam masala, cumin, turmeric, fenugreek, and smoked paprika. Mix well and allow to cook for a minute or so.
Add the lentils and most of the water/veg stock. Bring to a boil, then turn down the heat and stir regularly for 15 minutes. Add more water if it seems too thick, but bear in mind there's more liquid to come from the tomatoes and coconut milk.
After 15 minutes, add the tinned tomatoes and coconut milk. Break up the tomatoes with a spoon.
Cook for another 5-10 minutes, before adding the frozen spinach. (If using fresh spinach, save this until the last 1-2 minutes of cooking time).
After another 5-10 minutes, the lentils should be soft and the spinach mixed through evenly.
Check for seasoning and remove the cardamom pods. No worries if you can't find them, just try to avoid eating them whole as they can be quite strong.
Serve with boiled rice or pilau rice and top with freshly chopped coriander.