Heat 1 tablespoon of the oil in a small frying pan over a medium heat, add the onion and chopped garlic and fry gently for 10 minutes or until softened.
Meanwhile, mix together all the spices with a little salt and pepper, the tomato purée, lemon juice, crushed garlic and remaining oil in a non-metallic dish. Put the potatoes in a large bowl and add all but 1½ tablespoons of the paste. Mix together to coat the potatoes. Rub the remaining paste over the monkfish, cover and leave to marinate in the refrigerator.
Stir the cooked onion, peppers and preserved lemon into the potatoes and tip into a large, shallow ovenproof dish. Pour over enough stock to almost cover the potatoes and place in a preheated oven, 180°C (350°F), Gas Mark 4, for 45 minutes or until the potatoes are almost tender.
Arrange the monkfish over the potatoes, adding a little more stock if necessary. Sprinkle over the saffron and return to the oven for a further 10–15 minutes or until the fish is just cooked through. Serve immediately.