Preheat the oven: Set your oven to 375°F (190°C).
Grease a 9x13-inch baking dish or similar casserole dish.
Prep the cauliflower: Cut the cauliflower into small, even florets. Rinse and pat dry to remove excess moisture.
Par-cook the florets: Steam or microwave the cauliflower until just tender-crisp, about 5–7 minutes. You want a little bite left.
Drain well and pat dry so the sauce doesn’t get watery.
Make the cheese sauce: In a large skillet over medium heat, melt the butter. Add the garlic and cook for 30 seconds until fragrant.
Build the cream base: Stir in the heavy cream, cream cheese, Dijon, paprika, onion powder, red pepper flakes (if using), and a pinch of salt and pepper. Whisk until the cream cheese melts and the sauce is smooth, 3–4 minutes.
Add the cheeses: Reduce heat to low.
Stir in 1 cup of the cheddar and all the mozzarella until melted and silky. Taste and adjust seasoning with more salt and pepper if needed.
Combine: Add the drained cauliflower florets to the skillet and fold gently to coat each piece in the cheese sauce.
Assemble the bake: Spread the mixture evenly in the prepared baking dish. Top with the remaining ½ cup cheddar and the Parmesan.
Bake: Place in the oven and bake for 18–22 minutes, until bubbly around the edges and lightly golden on top.
Broil for color (optional): For a deeper golden crust, broil on high for 1–2 minutes, watching closely.
Finish and serve: Let it rest for 5 minutes, then sprinkle with chopped chives or parsley.
Serve warm.