Prep the broccoli: Bring a pot of salted water to a boil. Blanch broccoli for 2–3 minutes until bright green and just tender, then drain and pat dry.
For frozen broccoli, steam until just tender and blot well to remove excess moisture.
Crisp the bacon: In a skillet over medium heat, cook bacon until crisp. Transfer to a paper towel–lined plate. Reserve 1 tablespoon of bacon fat in the skillet (for flavor).
Sauté aromatics: Add butter to the skillet with the bacon fat.
Stir in garlic and cook 30–45 seconds until fragrant. Do not brown.
Make the creamy base: Reduce heat to low. Add cream cheese and heavy cream, stirring until smooth.
Whisk in sour cream and Dijon. Season with salt, pepper, and smoked paprika. Adjust cream to reach a silky, spoonable consistency.
Add the cheese: Stir in 3/4 cup cheddar and the mozzarella until melted and glossy.
Taste and adjust seasoning.
Combine: Fold the broccoli into the sauce until well coated. Stir in half the bacon and half the scallions.
Top and melt: Transfer to a small casserole dish or keep in the oven-safe skillet. Sprinkle remaining cheddar and bacon over the top.
Finish: Broil on the top rack for 2–4 minutes until bubbly and lightly browned, or bake at 375°F (190°C) for 10–12 minutes to heat through.
Garnish and serve: Top with the remaining scallions and a pinch of red pepper flakes if you like heat.
Serve hot.