Comece temperando a carne de caranguejo com sal, pimenta-do-reino e suco de limão. Deixe marinar por uns 15 minutos.
Em uma panela de barro, aqueça o azeite de oliva junto com o azeite de dendê. Refogue a cebola, o alho, o pimentão e o colorau até que fiquem bem macios.
Adicione os tomates picados e cozinhe até que eles comecem a desmanchar. Em seguida, coloque a carne de caranguejo marinada e refogue por uns 5 minutos.
Junte o arroz e misture bem, deixando os grãos absorverem os temperos por alguns minutos.
Acrescente o leite de coco e o caldo de peixe ou de frutos do mar, misture tudo e ajuste o sal se necessário. Deixe cozinhar em fogo médio, com a panela semi-tampada, até que o arroz esteja cozido e o líquido tenha evaporado, o que deve levar cerca de 20 minutos.
Quando o arroz estiver pronto, finalize com cheiro-verde e coentro picado a gosto. Sirva na própria panela de barro, bem quente.