Épluchez et découpez finement l’oignon et l’ail. Lavez les épinards.
Dans une grande poêle, faites chauffer l’huile d’olive. Faites-y revenir l’oignon et l’ail pendant 2 à 3 minutes à feu moyen. Ajoutez les épinards dans la poêle. Faites-les fondre quelques minutes jusqu’à ce qu’ils réduisent. Égouttez-les dans une passoire en pressant avec le dos d’une cuillère pour retirer l’excédent de liquide. Salez, poivrez et ajoutez un peu de muscade râpée.
Coupez le poisson en gros morceaux. Salez et poivrez légèrement. Faites-les revenir 2 minutes dans la poêle qui a servi aux épinards.
Dans un plat à gratin, disposez les épinards au fond. Répartissez les morceaux de poisson par-dessus, puis nappez de béchamel. Parsemez de fromage râpé.
Mettez à cuire pour environ 25 à 30 minutes dans un four préchauffé à 180°C, jusqu’à ce que le gratin soit bien doré. Servez chaud.