Heat a wok over a high heat. Add the fenugreek, coriander, cardamom seeds and curry leaves, and toast for 2 mins or until starting to brown and release their aromas. Remove and grind to a powder using a pestle and mortar or spice grinder.
Return the wok to the high heat and add the oil. Add all the spices (including the ones you just ground) and cook for 1 min, then add the ginger, garlic, chilli, onion and 1 1/2 tsp salt, and stir-fry for 5 mins.
Add the cauliflower, toss with the other ingredients so it’s well coated, then stir-fry for 7-10 mins or until it starts to soften. Add the tomatoes and stir-fry for another 3-5 mins or until they start to break down.
Pour in the coconut milk and cook over a medium heat, stirring, for 15-20 mins until the cauliflower is tender and the sauce has reduced. Squeeze over the lime juice and check for seasoning. Can be made a day ahead – pour in the coconut milk, reduce by half, then leave to cool and keep in the fridge.