Preheat your oven to 375°F (190°C) and grease a baking dish.
Bring a large pot of salted water to a boil. Add the Brussels sprouts and cook until slightly tender, about 5-7 minutes. Drain and set aside.
In a saucepan, melt the butter over medium heat. Stir in the flour and cook for 1-2 minutes until smooth.
Slowly pour in the milk while whisking continuously until the mixture thickens.
Remove the saucepan from heat and stir in the Gruyere cheese until melted. Season with salt and pepper.
Add the cooked Brussels sprouts to the cheese sauce and mix well to coat.
Pour the Brussels sprouts mixture into the prepared baking dish.
In a small bowl, combine the Parmesan cheese and breadcrumbs. Sprinkle this mixture over the Brussels sprouts.
Bake in the preheated oven for 20-25 minutes, or until the top is golden brown and bubbly.
Serve hot and enjoy!