Place the cauliflower florets on a large baking sheet. Drizzle with olive oil, then season with garlic powder, salt and pepper. Toss to coat, then roast in the oven for 20 minutes, turning at the halfway point.
Meanwhile, melt the butter in a small saucepan over low heat. Add the flour, stirring constantly with a whisk or wooden spoon until well blended. Slowly whisk in the warm milk and stir until the mixture thickens, about 3-5 minutes.
Remove from heat, season with nutmeg and mix in half the cheese.
Pour 1/3 of the sauce on the bottom of an 8x11 baking dish. Place the roasted cauliflower on top and then pour the rest of the sauce evenly on top. Sprinkle the remaining half of the grated cheese and bread crumbs on top, alternating between them to form layers.
Lower the oven temperature to 375°F and bake for 25-30 minutes or until the top is browned and bubbly.
Video
Notes
Storage: Store any leftovers in an airtight container. They will last up to 3 days in the fridge, but the consistency is best if eaten the first day. To reheat, place in the microwave for a minute or in the oven at 350°F for 5 minutes. I would not recommend freezing the dish though.Substitutes: For best results, follow the recipe as is. However here are some common substitutes that would work well in this recipe.
Use other types of shredded cheese in place of gruyere if you'd prefer. Since this recipe is French in origin, gruyere is the traditional cheese use, but it works well with mozzarella and/or parmesan cheese.
Instead of milk, you can use dairy-free milk like unsweetened almond milk.
Instead of butter, you can use olive oil.
To make it gluten-free, you can use almond flour or a GF 1:1 mix. Here's an excellent post on how to make gluten-free roux.