Preheat oven to 400. Cut cauliflower into large florets, discarding tough stems. Spray a foil lined baking sheet with cooking oil spray and spread florets out in an even layer. Drizzle with olive oil and season with salt and pepper. Roast cauliflower for 30 minutes, it should be partially cooked, but still a little firm.
While cauliflower is roasting make the sauce. Melt 2 T of butter in a medium sauce pan. Add flour and cook, stirring constantly for 2 minutes. Add milk and bring to boil stirring occasionally. Once mixture boils, cook one more minute then remove from heat. Add Gruyere and 2 oz of Parmesan, and season with salt, pepper and nutmeg. Stir and set aside to thicken.
Spray an 8″ x 8″ casserole dish with olive oil spray. Cover the bottom with 1/3 of the sauce. Top with an even layer of cauliflower and then cover with remaining sauce. Sprinkle with bread crumbs and additional Parmesan cheese. Season lightly. Melt remaining 2 T butter and pour over all. Dish can be covered and refrigerated at this point.
Bring to room temperature and bake uncovered at 350 for 30 minutes or until hot and bubbly. Makes 4-6 servings