For the Besciamella (white sauce)
Melt the butter in a heavy medium-size saucepan over medium heat. Add the flour and whisk together until incorporated. The flour will be very dry. Raise the heat to medium-high and in 1/2 cup portions, gradually whisk in the milk and bring to a boil. Reduce the heat to medium and simmer until the sauce thickens slightly, whisking often, about 5 minutes. The besciamella will continue to thicken even when you remove from the heat. If it seems to dense, whisk in a little bit more of mil. Whisk in the nutmeg. Season with salt and pepper to taste.
For the Vegetables
Preheat oven to 420F. Sauté’ the onion in a large frying pan with 1-2 tablespoons of extra-virgin olive oil until translucent and golden brown.
In the meantime, boil the cauliflowers and potatoes in two different medium sauce pans until they are tender. The vegetables should still have a little crunch and it should only take a few minutes. Be sure to not overcook the vegetables.
Drain the veggies and place in a large bowl. Season the vegetables with salt, pepper, and 1-2 tablespoon of olive oil. Both vegetables will continue cooking in casserole with the besciamella sauce.
Spoon a portion of the besciamella over the bottom of the casserole. Layer the vegetables on top. Spread the rest of the besciamella on top. Toss on the Gruyère cheese and sprinkle on the grated Parmigiano-Reggiano.
Bake at 420 F for about 20 minutes until the cheese is bubbling and golden brown on top.