Preheat oven to 200°C/400°F/Gas Mark 5. Place a ceramic baking dish, just large enough to hold all the fish in one layer, in the oven. Heat half the oil and fry onions until they begin to caramelise. Add pinenuts, saffron, tomatoes, allspice and basil and fry for 1 minute, then add wine and bring to the boil. Remove from heat and add salt to taste.
Brush fish with remaining oil and season with salt and pepper. Place fish in the hot baking dish and pour over onion mixture. Bake until fish is just cooked. It should take no more than 8 minutes.