Corte o peixe em cubos grandes, deite-os numa tigela e reserve. Descasque e lave a cebola e corte-a em meias luas finas. Descasque, lave e pique os alhos. Pique o tomate pelado.
Deite o azeite para um tacho, leve ao lume e deixe aquecer. Junte os alhos e a cebola e deixe cozinhar até a cebola ficar macia. Adicione os cominhos, o pau de canela, o gengibre ralado e o açafrão, misture muito bem e deixe começar a ferver. Junte então o tomate pelado picado e a malagueta, tempere com sal, tape e deixe cozinhar para apurar.
Junte então o peixe, tape e deixe cozinhar, em lume brando, durante 10 minutos. Adicione então o grão escorrido, rectifique o sal, deixe cozinhar mais 2 minutos e sirva polvilhado com os coentros picados e acompanhado com arroz.