Steam or boil 4-5 cups cauliflower florets until just tender but still firm, about 5 minutes. Drain and place the florets in a 2-quart casserole dish.
In a medium-sized skillet add ½ pound chopped bacon. Cook until crisp and sprinkle on top of the cauliflower in the casserole dish.
Returning to the same skillet add 5 tablespoons unsalted butter and melt over medium heat. Add ¼ cup all-purpose flour and cook about a minute until it thickens.
Slowly whisk in 2 cups milk, 1 ¼ cup grated gruyere cheese, 1 teaspoon salt, and ½ teaspoon pepper. Whisk until cheese is melted and sauce has thickened. Pour evenly over the cauliflower and bacon.
Top the sauce with ¼ cup freshly grated parmesan cheese.
Combine 2 tablespoons unsalted melted butter and ¼ cup bread crumbs in a small bowl and sprinkle over on top of the parmesan cheese.
Bake at 375 degrees Fahrenheit for 20-25 minutes or until bubbly and slightly brown at the top.