1. Rinse the rice a few times until the water runs clear. Drain and shake off the moisture.
2. Heat the oil in a large saucepan with a tight fitting lid. Add the saffron to the stock and bring it to a simmer in a separate pan. Taste for saltiness; it needs to be quite salty as the rice will draw the seasoning from it.
3. Add the rice to the oil and cook it over medium heat for a couple of minutes, stirring, until it is well coated in oil and starts to colour in places.
4. Pour in the hot stock, add the peppercorns, cloves, cinnamon, bay and cayenne, give it a stir and bring to the boil. Cover with a lid and cook for 2-3 minutes over medium heat, then turn it down to minimum and set a timer for 15 minutes. Don’t take the lid off while the rice is cooking.
5. When the rice has been cooking for 15 minutes, take it off the hob and place on a wet dish cloth for 10 minutes. Do not lift the lid.
6. While the rice is cooking and/or resting, melt the butter in another pan and add the sliced onions. Cook them for 10 minutes until soft. Add the cranberries, sultanas and almonds and cook gently, stirring once or twice, for another couple of minutes.
7. Pull the skin off the smokie and flake it into chunks. Take care to remove the bones though it’s hard to pick them all out so be careful when eating too. Add the fish to the onion mix and stir gently in.
8. Take the lid off the rice and fluff it up with a fork. If there’s still some liquid in it, cover it with a clean tea towel weighted by the lid for a couple of minutes so it steams off.
9. Stir most of the dill into the rice. Add the fish and onion mix and toss it gently together. Finish with the remaining dill and serve with a green salad.