24 ounces cauliflower florets – cut into 1-inch florets
12 ounces broccoli florets – cut into 1-inch florets
8 ounces carrots – sliced 0.25-inch thick on the bias
12 ounces zucchini – sliced 0.25-inch thick
1.5 tsp kosher salt
0.5 tsp black pepper – freshly ground
3 tbsp unsalted butter
0.25 cup shallot – finely chopped
1 clove garlic – minced
3 tbsp all-purpose flour
2.5 cups whole milk
0.25 tsp ground nutmeg
1 tsp fresh thyme leaves – chopped
4 ounces Gruyère cheese – grated
1 ounces Parmesan cheese – finely grated
0.5 cup dry breadcrumbs
flat-leaf parsley – chopped (for serving)
Instructions
Heat the oven to 400°F. Grease a 9x13-inch baking dish with olive oil.
Bring a large pot of water to a boil. Add the carrots and cook 3–4 minutes; add the cauliflower florets and broccoli florets and cook 2–3 minutes more; add the zucchini and cook 1 minute, until the vegetables are just crisp-tender. Drain well and spread on a towel to dry for 2–3 minutes.
Transfer the blanched vegetables to a large bowl and season with the kosher salt and black pepper; toss to coat evenly.
Melt the unsalted butter in a medium saucepan over medium heat. Add the shallot and cook until translucent, 2–3 minutes; stir in the garlic and cook 30 seconds.
Sprinkle in the all-purpose flour and cook, stirring, 1–2 minutes to form a pale roux. Gradually whisk in the whole milk and bring to a simmer, whisking until smooth. Cook 4–6 minutes, stirring, until the sauce thickens enough to coat the back of a spoon.
Off the heat, stir in the ground nutmeg, fresh thyme leaves, and Gruyère cheese until melted and smooth, 30–60 seconds.
Pour the cheese sauce over the vegetables and toss to combine. Scrape the mixture into the prepared baking dish and spread evenly.
In a small bowl, combine the dry breadcrumbs and Parmesan cheese. Sprinkle evenly over the gratin.
Bake until bubbling at the edges and the top is deep golden brown, 25–30 minutes. Let rest 10 minutes.
Sprinkle with the flat-leaf parsley and serve warm.