Preheat oven to 400F and spray casserole dish with nonstick spray.
Prepare an ice bath for when the sprouts are done in a large bowl.
Boil a large pot of water then steam Brussels sprouts for about 4 minutes. Strain then place into the ice bath to stop the cooking process. Lightly dry with paper towel and set aside.
Meanwhile, cook bacon over medium high heat until crispy. Using a slotted spoon, transfer to a plate with paper towel and set aside.
In the pan with the bacon drippings, whisk in flour and cook for 2 minutes.
Lower the heat to medium and slowly pour heavy cream while whisking. Keep a simmer going and cook until thicken about 4-5 minutes.
Sprinkle in cheeses slowly, continuing to whisk well incorporated.
Add pepper, mix, then remove from heat.
Stir in Brussels sprouts and bacon until well coated, then transfer to prepared casserole dish.
In a small bowl mix panko and parmigiano Reggiano, then add melted butter.
Sprinkle over the top of the Brussels sprouts and bake for about 15 minutes, or until golden brown and the edges are bubbling.