Preheat the oven to 220°C. Toss the tomatoes in a little oil and salt, then roast for 15–20 minutes until soft and collapsed.
Dry-roast the cumin and coriander seeds until fragrant. Grind them to a powder and mix with the garam masala, fenugreek and turmeric. Set aside a third of the mixture.
Heat oil or ghee in a saucepan and soften the onion. Add the garlic, ginger and chilli and cook briefly. Stir in the remaining spice mixture, then add the roasted tomatoes and tomato purée. Cook until thickened.
Add the lentils and stock, bring to the boil and simmer with the lid on for 25–30 minutes until tender, adding a little water if needed.
Place the spinach on top, cover and remove from the heat. Leave to wilt for 5 minutes, then stir through the lemon juice and season.
Melt the butter or ghee with the reserved spice mix, then drizzle over the dahl. Serve with yoghurt and flatbreads.