Bacalao: finished dish served in a bowl

Portuguese for cod, this bacalao is a rich tomato-based white fish stew

Serves 4, takes an hour


  • 400g white fish
  • 750g potatoes, washed or peeled
  • 1 large onion
  • 2 cloves garlic
  • 1 red chilli
  • 1 tbsp tomato puree
  • 2 tins chopped tomatoes
  • Salt and pepper
  • Olive oil
Bacalao ingredients arranged on kitchen surface

Here’s a downloadable PDF recipe card for printing.


1. Put a large saucepan of salted water on to boil. Slice the potatoes into thin circles. Boil until tender.

2. Meanwhile, slice the onion into thin circles. Chop the chilli and garlic together finely.

Potatoes being sliced thinly on a chopping board
Onion being sliced thinly
Chilli and garlic being sliced thinly together

3. In another wide saucepan or deep frying pan, heat some oil on a medium heat and fry the onion. After a few minutes, add the chilli and garlic and fry for a couple of minutes more.

4. Add the tomato puree to the same pot and mix together. Then add the chopped tomatoes.

Onion, garlic and chilli frying in a saucepan

5. Cut the fish fillets into chunks. Season with salt and pepper, then carefully add to the stew and sink them into it without stirring.

6. Bring this to a simmer, cover with a lid and leave for about 20 mins. Check the potatoes which should now be cooked. Drain them and set them aside.

Fish pieces being put into tomato-based stew after being cut into chunks
Fish chunks submerged in the stew

7. After 20 mins, add the potatoes to the stew. Mix together carefully without stirring too much. Serve!

Bacalao in the pan ready to serve