Heizen Sie den Backofen auf 200°C Ober-/Unterhitze vor.
Kochen Sie die Makkaroni in Salzwasser nach Packungsanweisung al dente. Abgießen und beiseite stellen.
In einem großen Topf die Butter schmelzen. Zwiebel und Knoblauch darin anschwitzen, bis sie glasig sind.
Mehl hinzufügen und unter Rühren 1-2 Minuten anschwitzen lassen.
Nach und nach die Milch unter ständigem Rühren zugießen, bis eine glatte Sauce entsteht.
150 g Gouda und den Parmesan in die Sauce rühren, bis der Käse geschmolzen ist.
Senf, Salz, Pfeffer und Muskatnuss hinzufügen und gut verrühren.
Die gekochten Makkaroni und den gewürfelten Schinken in die Käsesauce geben und alles gut vermischen.
Die Masse in eine gefettete Auflaufform geben.
Den restlichen Gouda und die Semmelbrösel darüber streuen.
Den Auflauf für 20-25 Minuten im vorgeheizten Backofen backen, bis er goldbraun und knusprig ist.
Vor dem Servieren 5 Minuten ruhen lassen und mit gehackter Petersilie bestreuen.