01 - Preheat the oven to 375°F. Grease a 9x13 inch baking dish with butter.
02 - Bring a large pot of salted water to a boil. Add the potato slices and cauliflower florets and cook for 5 minutes until just tender. Drain thoroughly and set aside.
03 - Melt 2 tablespoons of butter in a medium saucepan over medium heat. Add the chopped onion and minced garlic; cook until softened, about 3 minutes.
04 - Stir in 2 tablespoons of all-purpose flour and cook for 1 minute to form a roux.
05 - Gradually whisk in 1 cup whole milk and 1 cup heavy cream. Simmer gently, whisking constantly until thickened, about 4 to 5 minutes.
06 - Remove sauce from heat. Stir in 1 ½ cups Gruyère cheese, ½ cup Parmesan cheese, ½ teaspoon ground nutmeg, salt, and black pepper until the cheese melts and sauce is smooth.
07 - Layer half of the potatoes and cauliflower in the prepared baking dish. Pour half of the cheese sauce over them. Repeat with remaining vegetables and sauce.
08 - Sprinkle the remaining ¼ cup Parmesan cheese over the top. If desired, combine breadcrumbs with 1 tablespoon melted butter and scatter on top for extra crunch.
09 - Bake for 40 to 45 minutes until golden brown and bubbling. Allow to rest for 10 minutes before serving.