01 - Set the oven to 375°F. Butter a 9x13 inch baking dish to prevent sticking.
02 - Bring a large pot of salted water to boil. Add sliced potatoes and cauliflower florets; cook for 5 minutes until just tender. Drain thoroughly and set aside.
03 - Melt butter in a medium saucepan over medium heat. Add chopped onion and minced garlic, sauté for approximately 3 minutes until softened.
04 - Stir in all-purpose flour, cooking for 1 minute while stirring continuously to form a roux.
05 - Gradually whisk in whole milk and heavy cream. Bring to a gentle simmer, whisking constantly until the sauce thickens, about 4 to 5 minutes.
06 - Remove from heat. Stir in Gruyère, 50 g Parmesan, ground nutmeg, salt, and black pepper. Continue stirring until the cheese melts and the sauce is smooth.
07 - Arrange half of the potatoes and cauliflower in the baking dish. Pour half of the cheese sauce over the vegetables. Repeat the layering with the remaining vegetables and sauce.
08 - Sprinkle the top with the remaining Parmesan cheese. If using breadcrumbs, combine them with melted butter and evenly scatter over the surface for added crispness.
09 - Place the dish in the oven and bake for 40 to 45 minutes until the top is golden and bubbling. Allow to rest for 10 minutes before serving.