Prep the oven and pan: Heat your oven to 400°F (200°C).
Lightly grease a 9x13-inch baking dish with olive oil or butter.
Cook the bacon: In a skillet over medium heat, cook the chopped bacon until crisp. Transfer to a paper towel-lined plate. Reserve 1 tablespoon of bacon fat in the pan for extra flavor.
Par-cook the cauliflower: Steam or microwave the florets until just tender, about 5–7 minutes.
Alternatively, toss with a little oil, salt, and pepper and roast on a sheet pan for 15–18 minutes. You want fork-tender, not mushy.
Drain well: If you steamed or microwaved the cauliflower, pat it dry or let it sit in a colander for a few minutes. Excess water leads to a watery casserole, so don’t skip this.
Sauté the garlic: In the reserved bacon fat over low heat, sauté the minced garlic for 30–60 seconds until fragrant. Don’t let it brown.
Make the creamy base: In a large bowl, whisk together cream cheese, sour cream, and milk or cream until smooth.
Stir in cheddar, mozzarella, garlic, smoked paprika, half the green onions, and half the bacon. Season with salt and pepper.
Fold in the cauliflower: Add the florets to the bowl and gently toss to coat. Try to keep florets intact for better texture.
Assemble: Spread the mixture evenly in the prepared baking dish.
Sprinkle with a little extra cheddar and the remaining bacon on top.
Bake: Bake for 18–22 minutes, until bubbling around the edges and hot in the center.
Broil for color (optional): Switch to broil for 1–2 minutes to lightly brown the top. Watch closely.
Finish and serve: Let it rest for 5 minutes, then garnish with remaining green onions and parsley. Serve warm.