Den Rosenkohl putzen und die äußeren Blätter entfernen. Die Strünke abschneiden und den Kohl in kochendem Salzwasser ca. 8-10 Minuten blanchieren. Abgießen und abkühlen lassen.
Die Zwiebeln und den Knoblauch schälen und fein hacken. In einer Pfanne 3 EL Butter erhitzen und Zwiebeln und Knoblauch darin glasig dünsten.
Das Mehl hinzufügen und unter Rühren 2 Minuten anbraten. Die Milch nach und nach hinzugießen und unter Rühren zu einer cremigen Sauce verkochen lassen. Mit Salz, Pfeffer und Muskat abschmecken.
Tofu in kleine Würfel schneiden und in einer Pfanne mit etwas Öl knusprig anrösten.
Eine Auflaufform einfetten. Den Rosenkohl und Tofu hineingeben und die Sauce darüber verteilen. Mit Käse bestreuen.
Im vorgeheizten Ofen bei 200 °C (vorgeheizt) ca. 20-25 Minuten überbacken.