Place rack in center position of oven. Preheat oven to 400°F. Grease a baking dish or spray with nonstick cooking spray; set aside. Bring a large pot of lightly salted water to a boil.
Wash the Brussels sprouts and trim each one by cutting off a small piece of the end. Add the Brussels spouts to the boiling water and cook, uncovered, for 8 minutes. Drain and immediately transfer to an ice bath. Once the Brussels sprouts are cold, drain them again, cut the large ones into halves or quarters, and set aside.
Place the same pot over medium-high heat and add the diced bacon. Cook until crispy, stirring regularly to prevent sticking. Drain off all but 1 tablespoon of the bacon grease. Add the Brussels sprouts to the pot and stir to combine, sprinkling with garlic salt and pepper until well-seasoned. Remove the pot from the heat.
Transfer the Brussels sprouts and bacon to the prepared baking dish. Pour the half-and-half over the top. Sprinkle half of the Gruyere over the Brussels sprouts and toss to combine. In a small bowl, mix the remaining Gruyere with the panko breadcrumbs, then evenly sprinkle the mixture over the top of the baking dish.
Bake in the preheated oven for 20 to 25 minutes, or until bubbly and golden brown. Serve immediately.
Switch the cheese to cheddar, Swiss, Parmesan, or Romano.
Use heavy cream instead of half-and-half.
Mix a bit of minced garlic or shallots into the Brussels sprouts.
Substitute pancetta for the bacon.
Top with regular breadcrumbs or even crushed crackers instead of panko.
To save on washing pots, I boil my Brussels sprouts in a 3-quart saucepan with a straining lid, drain them, and transfer them to an ice bath. Then I cook my diced bacon in the same saucepan, later adding the Brussels sprouts back in before transferring everything to the baking dish.
I like to use sharp kitchen shears to cut raw bacon into small pieces. I find it easier and less messy than using a knife.
This recipe can easily be doubled for a dinner party or holiday gathering.