Toss cauliflower florets with 2 tablespoons olive oil on a parchment-lined baking sheet and spread into an even layer.
Roast cauliflower for 20 minutes, or until tender and slightly charred.
Pour remaining olive oil into a skillet over medium heat. Add onion and saute for 5 minutes, until softened and fragrant.
Add minced garlic and saute for an additional 30 seconds until fragrant.
Remove onion mixture from heat and place in a small bowl. Set aside.
In the same skillet over medium heat, melt the butter. Once melted, sprinkle in the flour, allow it to mostly absorb the butter, and use a whisk to combine into a mixture resembling wet sand.
Add half-and-half, salt, pepper, and hot sauce. Cook for about 5 minutes, stirring occasionally, until slightly thickened.
Return onion mixture to the saucepan.
Add mozzarella and ⅔ cup each of the sharp cheddar and white cheddar. Stir until well combined and a thick sauce forms.
Add roasted cauliflower to the saucepan and stir until evenly coated in cheese sauce.
Pour cheesy cauliflower into a 2.5-quart casserole dish and sprinkle the reserved shredded cheese on top.
Bake cauliflower mac and cheese for 25 minutes until bubbly and lightly browned.