3 cups whole milk
2 tablespoons unsalted butter
2 tablespoons flour
6 ounces Monterey Jack cheese, grated
6 ounces soft goat cheese, cut into small pieces
½ cup grated Parmigiano Reggiano
Salt and freshly ground black pepper
1 medium head cauliflower florets, each floret sliced into 2-3 pieces
1. Preheat oven to 350 degrees F and butter a large baking dish.
2. Place the milk in a small saucepan and bring to a simmer over medium-low heat. Melt butter over medium heat in a medium heavy-bottomed saucepan. Whisk in the flour and let cook for 1 minute (do not let the mixture get brown). Slowly whisk in the milk, increase the heat to high, and cook, whisking constantly until the mixture thickens, 3-4 minutes. Remove from the heat and whisk in the Monterey Jack and half of the goat cheese and half of the parmesan cheese until melted, season with salt and pepper. If the mixture seems too thick, thin with a little extra milk.
3. Transfer the sauce to a large bowl, add the cauliflower and stir well to combine. Transfer the mixture to the prepared baking dish and top with the remaining goat cheese and parmesan and bake on a baking sheet (in case the mixture bubbles over in the oven) for 50-60 minutes or until the cauliflower is tender and the top is bubbly and golden brown. Remove from the oven and let rest 10 minutes before serving.