bring a pot of water to a boil and cook the cauliflower for about 5 minutes. drain and set aside.
In a saucepan melt half of the butter over a low heat, whisk in flour until well combined with the butter until it forms a brown paste. Pour hot half and half liquid and keep whisking until it starts to thicken. Turn off the heat and season with salt and pepper, add in 3/4 cup of the gruyere cheese and parmesan cheese. Keep stirring.
Pour about 1/2 cup of the mixture on the bottom of a 8x11 inch baking dish. Pour the cauliflower on top and spoon the rest of the sauce on top. Combine the butter and parsley into a sauce pan and melt, pour over cauliflower and sprinkle with remaining cheese.
Bake for about 30 minutes or until the top is browned. My advice would be to check half way through. (All ovens vary) Serve.