Bring a saucepan of salted water to a boil. Add the potatoes and cook for 6 minutes after the water returns to a simmer. They should be slightly softened outside but firm in the centre. Drain thoroughly.
Meanwhile, rinse the cauliflower and dry it well. Heat 1 tablespoon of the oil in a wide, heavy based pan over a medium high heat.
Add the cauliflower in a single layer and cook for 5 minutes, turning occasionally, until lightly browned in places but still firm. Transfer it to a plate.
Reduce the heat to medium. Add the remaining 2 tablespoons oil and the cumin seeds. Fry for 30 seconds, then add the onion and green chilli. Cook for 7 to 8 minutes until soft and lightly golden.
Add the garlic and ginger paste. Stir continuously for 1 minute without allowing it to catch.
Add the tomatoes, ground coriander, ground cumin, turmeric, Kashmiri chilli powder and salt. Cook for 6 to 8 minutes, stirring regularly, until the tomato has softened and the masala is thick.
Add the drained potatoes and fold them through the masala. Pour in 100ml freshly boiled water, cover and cook over a low heat for 6 minutes.
Add the browned cauliflower and turn it carefully through the potatoes. Cover and cook for 8 to 10 minutes, or until both vegetables are tender. Check halfway and add 1 tablespoon hot water only if the masala is catching.
Remove the lid. Cook for 3 to 5 minutes, turning carefully, until no thin liquid remains and the masala coats the vegetables.
Crush the dried fenugreek between your palms. Add it with the garam masala, coriander and lemon juice. Fold gently, taste for salt and rest off the heat for 5 minutes before serving.