Prep the oven and dish: Heat oven to 375°F (190°C). Grease a 9x9-inch or similar baking dish with butter.
Cook the cauliflower: Steam or boil florets until just fork-tender, about 6–8 minutes. Don’t overcook.
Drain well, then pat dry with paper towels to remove extra moisture.
Crisp the bacon: Cook chopped bacon in a skillet over medium heat until crisp. Remove to a paper-towel-lined plate. Reserve 1 tablespoon bacon fat.
Make the creamy base: In a large bowl, mix cream cheese, sour cream, and heavy cream until smooth.
Stir in garlic, onion powder, smoked paprika, 1 1/4 cups cheddar, Parmesan, half the green onions, and half the bacon. Season with salt and pepper.
Combine: Add the drained, dried cauliflower to the bowl. Gently fold until the florets are coated but not smashed.
If it looks dry, add a splash more cream.
Assemble: Spread the mixture evenly in the baking dish. Top with remaining cheddar and the rest of the bacon.
Bake: Bake 18–22 minutes, until hot and bubbling around the edges and the top is melted.
Finish: Broil 1–2 minutes for a golden top if you like. Let it rest 5 minutes.
Garnish with remaining green onions and a dollop of sour cream if desired. Serve hot.