Preheat oven to 350°F and grease a 9x13-inch baking dish.
Steam or boil cauliflower until tender (not mushy), then drain well and set aside.
In a bowl, combine all shredded cheeses and set half aside for topping.
Mix garlic powder, paprika, salt, and pepper in a small bowl.
Melt butter in a skillet over medium heat. Stir in half the seasoning and flour to make a roux.
Slowly whisk in evaporated milk and heavy cream until thickened. Add Dijon mustard and remaining seasonings.
Stir in half of the cheese mix, melting gradually to form a creamy sauce.
Fold in cauliflower until coated, then layer in the baking dish with remaining cheese.
Bake 25–30 minutes until bubbly, then broil 1–2 minutes for a golden crust.
