Preheat the oven to 400 degrees.
Trim the ends from the sprouts and cut them in half. Add to a 7x10-inch baking dish along with the oil, ¾ teaspoon salt, and ¼ teaspoon black pepper. Toss until well coated. Bake for 15 minutes, flipping halfway through.
Add butter to a small saucepan over medium heat. Once melted, add the garlic and continue sauteing for 30 seconds, or until fragrant.
Sprinkle in the flour and whisk until combined.
Slowly begin adding in the milk, ¼ cup at a time, whisking well after each addition.
Once all of the milk has been added and the sauce has thickened, stir in the tarragon, thyme, salt, and pepper.
In a small bowl mix together the breadcrumbs, Parmesan cheese, and melted butter.
Pour the sauce over the roasted Brussels sprouts. Sprinkle with the Gruyere cheese and then the Parmesan-breadcrumbs.
Reduce the oven temperature to 350 degrees and bake for 25-30 minutes, or until the crumbs are golden.
Let sit for 10-15 minutes before serving so the sauce can thicken up. Enjoy!