Preheat the oven to 375°F (190°C). Lightly grease a 9 × 13-inch baking dish and set aside.
In a large skillet, melt the butter over medium heat. Add the sliced leeks and cook for 5 to 7 minutes, stirring occasionally, until soft. Add the garlic and cook for 1 minute more until fragrant.
2 medium leeks, 4 tablespoons unsalted butter, 2 cloves garlic
Sprinkle the flour over the leeks and garlic and stir for 1 minute. Gradually whisk in the milk and vegetable broth until smooth. Simmer for 5 to 7 minutes, stirring often, until the sauce thickens slightly. Stir in the heavy cream and simmer briefly.
4 tablespoons all-purpose flour, 1 cup whole milk, 1 cup low-sodium vegetable broth, ½ cup heavy cream
Stir in the asparagus, peas, corn, and potatoes. Season with salt and black pepper. Add half of the Gruyère cheese, half of the Parmesan cheese, and the chopped thyme. Mix well.
1 cup asparagus, 1 cup frozen peas, 1 cup frozen corn, 1 pound baby potatoes, 1 cup Gruyère cheese, ½ cup Parmesan cheese, 2 tablespoons fresh thyme, Salt and black pepper
Transfer the mixture to the prepared baking dish. In a small bowl, combine the breadcrumbs, remaining Gruyère cheese, remaining Parmesan cheese, and olive oil. Sprinkle evenly over the top.
1 cup breadcrumbs, 2 tablespoons olive oil
Bake for 25 to 30 minutes, or until the casserole is bubbling and the top is golden brown.
Let the casserole rest for 5 to 10 minutes before serving. Garnish with fresh parsley.
2 tablespoons fresh parsley