Prep the cauliflower. Heat your oven to 425°F (220°C). Line a baking sheet with parchment.
Toss florets with oil, salt, pepper, garlic powder, and onion powder. Spread in a single layer.
Roast until tender-crisp. Bake for 18–22 minutes, flipping once, until edges are lightly browned and cauliflower is just tender. Don’t overcook—it will soften more in the sauce.
Start the sauce base. In a saucepan over medium heat, melt butter.
Add heavy cream and bring to a gentle simmer, stirring often so it doesn’t scorch.
Melt in the cream cheese. Add the cream cheese cubes and whisk until smooth and fully combined. Keep the heat low to prevent separation.
Add the cheeses. Remove from heat and stir in cheddar and Gruyère until melted and velvety. If needed, return to low heat briefly, stirring constantly.
Mix in Dijon and smoked paprika or cayenne, if using. Season with salt and pepper.
Combine with cauliflower. Place roasted cauliflower in a baking dish or keep it in a skillet if it’s oven-safe. Pour the cheese sauce over and toss to coat every floret.
Optional bake for a bubbly finish. Sprinkle Parmesan on top.
Broil on the top rack for 2–3 minutes until golden and bubbling. Watch closely to avoid burning.
Garnish and serve. Let it rest for 5 minutes so the sauce thickens. Finish with chopped chives or parsley.
Serve hot.