Tempere o peixe com sal, pimenta-do-reino, 2 cebolas e o alho.
Deixe descansar por 10 minutos.
Em uma panela, aqueca a manteiga e frite a cebola restante até murchar.
Misture a maisena dissolva no leite com a gema e despeje na panela. Cozinhe até engrossar, mexendo.
Tempere com sal, noz-moscada, pimenta e retire do fogo. Em um refratário untando, coloque o peixe e o creme por cima. Misture a mussarela com o tomate e tempere com sal.
Espalhe por cima do creme e leve ao forno médio, pré-aquecido, por 20 minutos.
Se desejar, sirva com salada verde.