Heizen Sie den Backofen auf 180 °C vor.
Kochen Sie die Nudeln in einem großen Topf mit leicht gesalzenem Wasser al dente (8 bis 10 Minuten).
In einer Pfanne die Butter erhitzen und die Zwiebel glasig anbraten. Fügen Sie den gewürfelten Schinken hinzu und braten Sie ihn kurz mit.
In einer Schüssel die Sahne, Milch, Eier, Senf, Salz, Pfeffer und Muskatnuss gut vermengen.
Fetten Sie eine Auflaufform mit Butter ein. Geben Sie die gekochten Nudeln, die Schinken-Zwiebel-Mischung und die Sauce in die Form und mischen Sie alles vorsichtig.
Streuen Sie den geriebenen Käse gleichmäßig über das Gratin und backen Sie es für 25 bis 30 Minuten im Ofen.