To make sure you get lovely fluffy rice, wash it in several changes of cold water, then leave to soak for about 30 minutes in fresh cold water. If you don't have time for this, place in a sieve and wash under the cold tap for a minute or so.
Cook the onion in the butter for around 5 minutes until softened. Add the spices, saffron and bay leaves and cook for a couple more minutes. The spices will give a wonderful fragrant flavour to the rice.
Add the rice and stir until the grains are coated in the butter before stirring in the stock and salt. Bring to the boil and then cover with a tight-fitting lid. If the lid isn't very tight, cover the pan with aluminium foil before putting the lid on.
Turn the heat down low and leave to cook for 10 minutes before turning off the heat. Don't remove the lid; just leave the rice to continue cooking in the pan for about 5 minutes until you're ready to serve.
The rice should have absorbed all the water and will just need fluffing up with a fork. Add a knob of butter before serving and sprinkle with cilantro if desired.