Preheat the oven to 375 degrees F (190 degrees C). Spray the inside of a medium baking dish with cooking spray.
Bring a pot of water to a boil. Add cauliflower florets and cook until tender but still firm, 4 to 5 minutes. Drain and set aside.
Heat milk in the microwave or in a small saucepan until hot.
Melt 2 tablespoons butter in a medium saucepan over medium heat, blend in the flour, and cook, stirring constantly, for 2 to 3 minutes. Pour in hot milk and whisk constantly until thickened, 4 to 5 minutes. Remove from heat. Stir in 3/4 cup Gruyere cheese, Parmesan cheese, minced onion, curry powder, salt, and pepper.
Pour 1/3 of the sauce on the bottom of the prepared baking dish. Distribute cauliflower evenly on top. Pour remaining cheese sauce over the florets.
Combine remaining 1/4 cup of Gruyere with bread crumbs in a bowl. Sprinkle over the sauce and drizzle with remaining 2 tablespoons butter.
Bake in the preheated oven until the top is browned, 25 to 30 minutes.