Preheat and prep: Heat your oven to 400°F (200°C). Grease a 9x13-inch baking dish.
Par-cook the cauliflower: Toss florets with olive oil, salt, and pepper. Spread on a sheet pan and roast for 15–18 minutes until just tender and lightly golden.
This step keeps the bake from getting watery.
Make the Alfredo base: In a large skillet over medium heat, melt the butter. Add garlic and cook 30–60 seconds until fragrant, not browned.
Add cream and cream cheese: Pour in heavy cream and whisk in the cream cheese. Simmer gently, stirring, until smooth and slightly thickened, 3–4 minutes.
Whisk in cheeses and seasoning: Stir in 1 cup Parmesan and 1 cup mozzarella until melted.
Season with salt, pepper, nutmeg, and red pepper flakes if using. The sauce should coat the back of a spoon.
Combine with cauliflower: Transfer roasted cauliflower to the baking dish. Pour the Alfredo sauce over and toss gently to coat all the florets.
Add the topping: Sprinkle the remaining 1/2 cup mozzarella and a couple tablespoons of extra Parmesan over the top for browning.
Bake: Lower oven to 375°F (190°C) and bake for 15–20 minutes, until bubbly around the edges and lightly golden on top.
Broil for color (optional): If you want a deeper crust, broil on high for 1–2 minutes.
Watch closely to avoid burning.
Garnish and serve: Let rest 5 minutes, then scatter with chopped parsley. Serve warm.