01 - Preheat oven to 375°F. Grease a 9x13 inch baking dish with butter.
02 - Bring a large pot of salted water to a boil. Add potato slices 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é until softened, about 3 minutes.
04 - Stir in flour and cook for 1 minute, forming a roux.
05 - Gradually whisk in milk and cream. Simmer gently, whisking constantly, until sauce thickens, about 4 to 5 minutes.
06 - Remove from heat. Stir in Gruyère, ⅔ of the Parmesan, nutmeg, salt, and pepper until cheese melts and sauce is smooth.
07 - Arrange half of the potatoes and cauliflower in the baking dish. Pour half of the cheese sauce over. Repeat layering with remaining vegetables and sauce.
08 - Sprinkle with remaining Parmesan. Optionally, mix breadcrumbs with melted butter and scatter over the top for a crisp crust.
09 - Bake for 40 to 45 minutes until golden and bubbling. Let rest for 10 minutes before serving.