Versez 1 cuil. à soupe d’huile dans un saladier. Ajoutez l’ail, le persil, la coriandre, 1/2 cuil. à café de gingembre et la moitié du safran, puis mélangez le tout. Salez et poivrez.
Ajoutez le poisson, en le tournant pour l’enrober de la préparation. Couvrez de film alimentaire et laissez reposer 1 h au réfrigérateur.
Mettez les raisins secs dans un bol, couvrez d’eau tiède et laissez reposer 10 mn. Égouttez.
Versez le reste de l’huile dans un grand plat à tagine. Ajoutez le beurre, les oignons coupés en rondelles (anneaux séparés), les raisins secs, les restes du gingembre et du safran, puis chauffez le tout à feu moyen-vif. Faites cuire 30 à 45 mn, en remuant souvent. Ajoutez le sucre et la cannelle.
Disposez les darnes de poisson sur les oignons. Couvrez, après quelques minutes de cuisson, retournez-le délicatement et cuire 20 à 40 mn (selon le poisson), jusqu’à ce que les oignons soient caramélisés et le poisson cuit à cœur. Quand la cuisson est à votre goût, servez.