Bring a pot of water to a boil; cook cauliflower until slightly tender, 10 to 15 minutes. Remove cauliflower from water and place in a colander to drain for 1 hour.
Preheat oven to 350 degrees F (175 degrees C). Place cauliflower in a baking dish.
Mix milk, flour, butter, salt, pepper, and garlic powder together in a saucepan; bring to a boil. Gradually sprinkle 1 1/2 cups Cheddar cheese into milk mixture, stirring constantly, until mixture turns into a thick sauce, about 5 minutes. Pour sauce over cauliflower and top with remaining Cheddar cheese.
Bake in the preheated oven until cauliflower is tender, about 1 hour. Let stand for 10 minutes.