Rinse the rice in cold running water and leave to drain.
Heat the oil and butter in a heavy-based saucepan and stir-fry the shallots and garlic for 1–2 minutes over a medium heat.
Add the cardamom pods, cloves, cinnamon sticks, cumin seeds, rice and carrots and stir to mix well. Add the stock mixture along with the dill, season and bring up to the boil. Then stir in the soya beans, golden sultanas and dried cranberries. Cover tightly and reduce the heat to low. Cook for 10–12 minutes without lifting the lid.
Remove from the heat and allow to stand, undisturbed, for 10 minutes.
Remove the lid (the liquid should have been completely absorbed), stir in the pomegranate seeds and pistachio nuts and serve immediately.