Arrange all ingredients for use.
Wash the rice in a bowl with plenty of water.
Pour into a sieve and drain.
Peel and finely chop the onion.
Melt the butter in a pan. Add the crushed cinnamon stick and cardamom.
Add the cloves and cook over a low heat.
Add the onions and saute until softened and translucent.
Add the rice and cook, stirring, for 1 minute.
Pour in the stock and bring to the boil. Reduce the heat, cover the rice and simmer over a low heat for 20 minutes. Add extra stock if it starts to dry out.
Meanwhile, soak the saffron in a small bowl with a little warm water for 10 minutes.
Add to the rice just before the end of cooking time. Season with salt and pepper and serve.