Cut cauliflower into small florets and place in a large microwave safe bowl. Cover with plastic wrap and steam for 8-10 minutes or until cauliflower in tender or boil the cauliflower in water on the stove top for 5 minutes.
While the cauliflower is steaming, Heat a large pan or pot to medium high heat. Add the olive oil, butter, and onions. Cook onions for 3-5 minutes or until they begin to brown. Add the garlic and cook for just 30 seconds. Add the milk and cheeses. Stir mixture until the cheese is fully melted and the texture is smooth.
Pour in the steamed cauliflower and mix until fully combined. Boil for 3-5 minutes or until the cauliflower is soft and tender or to your preference.