Prep your oven and pan. Heat the oven to 400°F (200°C). Grease a 9x13-inch baking dish with a little olive oil or butter.
Par-cook the cauliflower. Toss the florets with 1 tablespoon olive oil, a pinch of salt, and pepper.
Spread on a sheet pan and roast for 12–15 minutes, just until crisp-tender. You want it slightly underdone so it doesn’t get mushy in the bake.
Start the sauce. In a large skillet over medium heat, melt butter with the remaining 1 tablespoon olive oil. Add the garlic and cook 30–45 seconds until fragrant, not browned.
Make a quick roux. Sprinkle in the flour and whisk for 1 minute to cook off the raw taste.
The mixture will look like a paste.
Add milk and cream. Slowly whisk in the milk, then the heavy cream. Keep whisking until smooth. Let it simmer gently for 3–5 minutes until slightly thickened.
Season and add cheese. Stir in Parmesan, Italian seasoning, salt, black pepper, and red pepper flakes if using.
Taste and adjust seasoning. The sauce should be well seasoned and silky.
Add chicken and cauliflower. Stir the cooked chicken into the sauce. Fold in the roasted cauliflower.
If the skillet is too small, combine everything in a big bowl.
Assemble the bake. Pour the mixture into the prepared baking dish. Top evenly with mozzarella and a little extra Parmesan for a golden crust.
Bake. Cook for 15–18 minutes, until bubbling around the edges and the top is melted and lightly browned. For a deeper color, broil for 1–2 minutes at the end, watching closely.
Rest and garnish. Let it stand for 5 minutes to set.
Sprinkle with chopped parsley and serve warm.