Finely chop the onion, garlic, turmeric and ginger. Cut the carrot into small pieces.
Heat the oil in a saucepan and gently sauté the onion for 5 minutes, then add the garlic, ginger, turmeric, mustard/cumin/coriander seeds.
Stir for a couple of minutes, then add the garam masala, chilli powder and tomato purée. Stir for a minute until fragrant, then add the chopped tomatoes and carrot. Stir for a minute or so, then stir in the lentils. Season with salt and pepper.
Add enough water to cover everything well, then add the bay leaf, star anise and curry leaves.
Bring to the boil, cover and gently simmer over low heat for about 20/25 minutes until the lentils become soft, almost creamy. You might need to add more water if it's too thick or catching.
Add the spinach, cover the pot again, and cook for another 5 minutes.
Stir well, then serve.