For the charmoula, put all the ingredients into a food processor and blend until smooth.
Heat the oil in a large pan, add the celery, carrot and onion and fry gently for 5 minutes, until softened but not browned.
Add half the chopped preserved lemon, 2 tbsp of the charmoula, the tomatoes and the stock.
Bring to the boil and simmer for 30 minutes, then add the potatoes. Simmer for 6-8 minutes until tender.
Preheat the grill to high. Brush the fillets of fish with olive oil, season with salt and pepper and then cut each diagonally in half.
Grill, skin-side up, for about 6 minutes.
Stir the olives, the rest of the charmoula and the remaining preserved lemon into the sauce and check the seasoning.
Put the fish in four warmed soup bowls, spoon over the sauce and sprinkle with the chopped coriander and mint.
Trending This Week