Snijd de ui, knoflook, gember en chili fijn. Verhit de olie in een ruime ondiepe pan waar je een deksel voor hebt. Fruit hierin de ui, knoflook, gember en chili tot glazig. Verhit ondertussen de bouillon en laat de saffraan daarin trekken. Halveer de cherrytomaten en snijd de sperziebonen in stukken van 3-4 centimeter. Maal in een keukenmachine de helft van de amandelen tot een poeder. Rooster het overige amandelschaafsel in een droge koekenpan goudbruin en zet apart.
Voeg de specerijen en tomatenpuree toe aan de pan en fruit 2 minuten mee. Voeg de cherrytomaten, bouillon (inclusief saffraan), amandelpoeder, sap en rasp van de sinaasappel en honing toe. Breng het geheel aan de kook. Laat zo’n 10 minuten pruttelen tot de tomaten uit elkaar vallen en de saus wat dikker wordt. Voeg de sperziebonen toe, dek de pan af en kook 3 minuten. Breng de saus op smaak met zout en peper. Snijd ondertussen de witvis in grote stukken en bestrooi rondom met zout en peper. Nestel de vis in de saus, dek de pan af en kook de vis in ongeveer 5 minuten net gaar (de exacte kooktijd is mede afhankelijk van de vis die je kiest; kabeljauw heeft bijvoorbeeld een wat langere kooktijd dan pangasius). Serveer de tajine met amandelschaafsel en blaadjes koriander.