This hearty French winter soup is an incredible combination of chunky fish pieces, fresh vegetables and warming broth. With homemade croutons and garlic mayo on the side, you can’t go wrong with this recipe!






Skill level

Average: 3.6 (20 votes)


  • 300 g monkfish (or deep sea fish, such as cod) fillets, cut into 3 cm cubes
  • 140 ml olive oil
  • salt
  • 10 saffron threads
  • 60 ml (¼ cup) lemon juice
  • 1 onion, chopped
  • ½ fennel bulb, roughly chopped
  • 2 garlic cloves, peeled and bruised
  • 6 cm piece ginger, peeled and roughly chopped
  • 2 tbsp tomato paste
  • 1 large tomato, roughly sliced
  • 1 small carrot, roughly chopped
  • ½ tsp cayenne pepper
  • 300 g whole, small seasonal rock fish, such as red mullet, rock fish or Scorpio fish
  • 1 litre water
  • 1 bouquet garni
  • 1 large zucchini, chopped
  • 2 tbsp Pastis or ouzo
  • 2 tbsp chopped fat-leaf parsley
  • 2 tbsp chopped spring onion


  • 2 tbsp olive oil
  • 6 thin slices stale baguette

Rouille (garlic mayonnaise)

  • 1 tsp Dijon mustard
  • 1 garlic clove, finely chopped
  • 5 saffron threads
  • 2 egg yolks
  • 80 ml (⅓ cup) olive oil

Cook's notes

Oven temperatures are for conventional; if using fan-forced (convection), reduce the temperature by 20˚C. | We use Australian tablespoons and cups: 1 teaspoon equals 5 ml; 1 tablespoon equals 20 ml; 1 cup equals 250 ml. | All herbs are fresh (unless specified) and cups are lightly packed. | All vegetables are medium size and peeled, unless specified. | All eggs are 55-60 g, unless specified.


Marinating time 20 minutes

Combine monkfish, 2 tbsp olive oil, a pinch of salt, saffron threads and lemon juice in a bowl. Marinate for 20 minutes.

Heat a large saucepan over medium heat. Add ¼ cup olive oil, then onion. Cook for 4 minutes or until soft and fragrant. Add the fennel and cook for a further 2 minutes.

Add garlic, ginger and tomato paste. Cook, stirring for 3 minutes, then add the fresh tomato, carrot and cayenne pepper. Add the whole rockfish, water and bouquet garni. Bring to the boil. Reduce heat to medium and simmer for 20 minutes. Don’t cover with lid during this process.

Meanwhile, to make croutons, heat a frying pan over medium heat. Add olive oil. Reduce heat to low. Cook baguette for about 3 minutes each side or until golden. Remove and drain on a paper towel.

To prepare rouille, place mustard in a bowl. Add garlic, saffron threads and egg yolks. Whisk until thickened. Add olive oil and whisk until firm in consistently, like mayonnaise.

Remove the soup from the heat and use a sieve or chinois to strain. Press fish bones and meat through the sieve, to extract all the flavours. Return strained broth to the saucepan, and heat over medium.

While soup simmers, prepare the zucchini. Heat a frying pan over medium heat. Add 2 tbsp olive oil and the zucchini and cook for 3 minutes each side or until golden. Remove from the pan and allow to rest.

Add Pastis to the soup and return to the boil. Add marinated monkfish, reduce the heat and simmer for 2 minutes. Turn off the heat.

Ladle soup into shallow serving bowls. Add zucchini, then garnish with parsley and spring onion. Spread the mayonnaise onto the croutons and serve with the fish soup.