Rinse the basmati rice under cold running water, put it in a bowl and cover with cold water. Soak for 15 minutes, then drain well.
Heat the butter in a large heavy-based saucepan, add the onion, garlic, cumin, peppercorns, clove and cinnamon and stir-fry for 2–3 minutes. Add the peas, tomatoes, tomato purée and drained rice and stir-fry for another 2–3 minutes.
Add the boiling water and coriander, season with salt and pepper and bring back to the boil. Cover tightly, reduce the heat to low and simmer gently for 10 minutes. Do not lift the lid because the steam is required for the cooking process.
Remove the pan from the heat and leave the rice to stand, covered and undisturbed, for 8–10 minutes. To serve, fluff up the grains of rice with a fork.