Cauliflower has a subtle taste, so we've boosted its flavor in this recipe by first roasting it, and then pairing it with a cheesy sauce and a crispy topping of breadcrumbs. Gruyére has a nutty, earthy flavor that partners well with cauliflower, but feel free to substitute another variety you like. This gratin makes a delicious side dish for roast chicken.
Position a rack in the middle of the oven and preheat to 425 degrees F. Butter the sides and bottom of a 2-quart baking dish and set aside.
Toss the florets with 2 tablespoons of the olive oil and spread them in a single layer on a rimmed baking sheet. Season the florets with salt and pepper to taste. Roast the cauliflower, stirring once, until it’s crisp-tender, 15 to 20 minutes. Transfer the florets to the prepared baking dish.
Melt the butter in a small skillet over medium heat and add the panko. Cook, stirring frequently, until the breadcrumbs are hot and light golden in color, 3 to 5 minutes. Remove the pan from the heat and stir in the parmesan cheese and half of the minced parsley. Set aside.
Position a rack about 7 inches below the broiler. Preheat the broiler on high.
Heat the remaining 2 tablespoons of olive oil in a medium-size saucepan over medium heat. Add the onion and cook, stirring occasionally, until the onion is soft, about 5 minutes. Add the garlic and cook, stirring frequently, until the garlic is fragrant, about 1 minute. Add the flour and continue cooking, stirring constantly for 2 minutes. Then add the milk slowly, whisking to blend. Raise the heat to medium-high, and cook until the mixture comes to a boil. Continue cooking until the sauce is thick, about 4 minutes, whisking frequently.
Remove the pan from the heat and add the Gruyère cheese and the remaining parsley. Stir until the cheese melts. Taste and add salt and pepper as needed. Pour the cheese sauce over the roasted cauliflower and stir to coat. Sprinkle the breadcrumbs over the cauliflower and place the baking dish under the broiler. Broil until the top of the gratin is browned, 2 to 4 minutes. Serve hot.