Preheat and prep: Heat your oven to 400°F (200°C).
Lightly grease a 9x13-inch baking dish or similar casserole pan.
Cook the bacon: Pan-fry or bake bacon until crispy. Drain on paper towels and crumble. Set aside.
Reserve a teaspoon of bacon fat if you’d like to sauté the garlic in it for extra flavor.
Prep the cauliflower: Cut cauliflower into small, even florets. Toss with olive oil, salt, pepper, and smoked paprika if using. Spread on a sheet pan in a single layer.
Roast the cauliflower: Bake for 18–22 minutes, stirring once, until just tender and lightly browned.
Roasting draws out moisture and keeps the casserole from getting watery.
Make the creamy base: In a large bowl, beat the softened cream cheese until smooth. Stir in sour cream, half of the shredded cheddar, and the optional mozzarella or Monterey Jack. Add minced garlic (sauté briefly first if you prefer a milder bite), a pinch of red pepper flakes, salt, and pepper.
Mix until creamy.
Combine: Fold the roasted cauliflower into the creamy mixture until well coated. Stir in half the crumbled bacon and most of the green onions, saving some for topping.
Assemble: Transfer the mixture to the prepared baking dish. Sprinkle the remaining cheddar evenly over the top.
Dot with butter if you want extra richness and browning.
Bake: Bake for 15–18 minutes, until the cheese is melted and bubbly around the edges.
Finish under the broiler (optional): Broil for 1–2 minutes to brown the top. Watch closely so it doesn’t burn.
Top and serve: Sprinkle with the remaining bacon and green onions. Add chives or parsley if you like.
Let it rest for 5 minutes before serving so it sets slightly.