Laver et cuire les épinards. Puis égouttez les bien, hachez les grossièrement et réservez. Ajoutez les morceaux de jambon, mélangez.
Faites revenir l'oignon 5 minutes dans un peu de beurre, puis ajouter l'ail. Ensuite ajoutez la farine et faire cuire en mélangeant 1 minutes. Ajoutez le lait petit à petit en mélangeant et faire cuire jusqu'à épaississement : le mélange doit avoir la consistance d'une béchamel.
Ajoutez béchamel. Ajoutez une pincée de muscade râpée ajoutez le fromage et mélange jusqu'à ce qu'il soit fondu, salez, poivrer et saupoudrez de muscade.
Préchauffez le four à 180 °. Pendant ce temps, cuire les macaroni dans un grand volume d'eau salée deux minutes de moins que le temps indiqué sur le paquet. Égouttez et ajoutez les à la sauce au fromage. Mélangez bien.
Dans un plat allant au four étalez la moitie des macaroni, puis la moitie du fromage restant puis les épinards, puis le reste des macaronis mélangez le fromage restant avec 4 cuillères a soupe de chapelure (optionnel) et saupoudrez ce mélange sur le dessus des macaroni.
Enfournez 40 minutes, sortir du four, attendez 10 minutes puis dégustez.