Pel de gamba's. Gooi de schillen niet weg!
Schil de ui en de knoflook. Snijd in grove stukken en fruit aan in een hoge soeppan. Haal het hart uit 1 venkel en snijd in stukken. Laat dit kort meebakken. Doe de gambaschillen erin. Giet de groentebouillon erbij samen met de laurier, steranijs en tijm. Breng dit aan de kook en laat voor circa drie kwartier op laag vuur koken.
Haal de saffraandraadjes uit het baasje en meng met een scheutje citroensap. Laat dit even staan.
Haal het hart uit de andere venkel. Snijd deze in fijne stukken (ze blijven namelijk heel in de soep zitten, dus moeten niet té grof). Hou van de venkel een beetje groen eraf voor de garnering.
Snijd de tomaten door de helft (je hebt nu 2 stukjes). Dan beide kanten weer door de helft (je hebt nu 4 stukjes) en dan weer door de helft (je hebt nu 8 stukjes per tomaat).
Giet na drie kwartier de soep af door middel van een zeef. Doe de gezeefde soep weer terug in de soeppan. Doe de gesneden venkel, tomaten, tomatenpuree, visfond erbij. Breng dit weer aan de kook en laat op laag vuur koken voor circa een half uur.
Snij de kabeljauw in de tussentijd in stukken (hoe groot je zelf wilt). Gooi die bij de soep die nog op staat en laat de kabeljauw garen in de soep (die duurt niet lang, circa 5/10 minuten: ligt aan de grootte van de stukken). Maak de soep op smaak met paprika- en cayennepoeder.