Preheat the oven: Set to 375°F (190°C).
Grease a 9x13-inch baking dish or similar casserole dish.
Prep the veggies: Cut broccoli and cauliflower into bite-sized florets. You’ll want roughly 4 cups of each.
Par-cook the florets: Steam or blanch for 3–4 minutes until just tender but still crisp. Drain well and pat dry to avoid watery casserole.
Sauté aromatics: In a large skillet over medium heat, melt 2 tablespoons butter.
Add garlic and cook 30–60 seconds until fragrant.
Make the sauce: Lower heat and whisk in 6 ounces softened cream cheese until smooth. Slowly pour in 1 cup heavy cream, whisking to combine. Stir in 1 cup shredded cheddar, 1/2 cup mozzarella, and 1/4 cup Parmesan.
Add 1 teaspoon Dijon, 1/2 teaspoon onion powder, 1/2 teaspoon smoked paprika, and a pinch of red pepper flakes if using. Season with salt and pepper.
Taste and adjust: The sauce should be well-seasoned and slightly thick. If too thick, add a splash of cream.
Combine: Add the drained broccoli and cauliflower to the skillet, stirring to coat every piece.
If your skillet is small, mix in a large bowl instead.
Assemble: Transfer to your prepared baking dish. Top with remaining 1/2 cup cheddar, 1/2 cup mozzarella, and 2–3 tablespoons Parmesan. Sprinkle cooked, chopped bacon on top if using.
Bake: Bake for 18–22 minutes, until the top is bubbling and lightly browned.
For extra color, broil for 1–2 minutes at the end.
Rest and garnish: Let it sit 5–10 minutes to set. Finish with chopped chives or parsley.