Wash the rice several times in cold water, then leave to soak for 15 minutes. Drain thoroughly.
Heat the butter and oil in a large heavy-based saucepan and add the onion. Stir and cook over a medium heat for 2—3 minutes. Add the chillies, cardamom, cinnamon, cumin and bay leaves.
Add the rice to the pan and stir-fry for 2—3 minutes. Then add the saffron mixture and boiling water, season with salt and pepper and bring back to the boil. Cover tightly, reduce the heat and simmer gently for 10 minutes. Do not lift the lid, as 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. Fluff up the grains with a fork and serve immediately.