Die Nudeln in reichlich Salzwasser nach Packungsanweisung kochen, aber 2 Minuten kürzer als angegeben, abgießen und beiseitestellen.
Den Ofen auf 180 Grad Ober Unterhitze vorheizen und eine Auflaufform mit Butter einfetten.
In einem Topf die Butter schmelzen, die Zwiebel glasig dünsten, dann Mehl zugeben und kurz anschwitzen.
Nach und nach Milch und Sahne einrühren, unter Rühren aufkochen lassen, bis eine sämige Soße entsteht. Mit Salz, Pfeffer und Muskat würzen.
Die Nudeln mit Schinkenwürfeln in die Form geben, die Soße darüber gießen und alles gut vermengen.
Mit dem geriebenen Käse bestreuen und im Ofen 25–30 Minuten goldbraun überbacken.
Vor dem Servieren 5 Minuten ruhen lassen.