Heat oven to 400°F. Lightly butter a 9x13-inch baking dish.
Blanch Brussels sprouts in salted boiling water until bright and just tender, 4–5 minutes. Drain well and pat dry.
Cook bacon in a large skillet over medium heat until crisp. Transfer to a plate; keep about 1 tablespoon drippings in the pan.
Melt butter in the skillet with drippings. Sauté shallot until soft, 2–3 minutes. Stir in garlic for 30 seconds.
Whisk in flour and cook the roux 1 minute. Slowly add milk, then cream, whisking until smooth and slightly thickened, 3–4 minutes.
Season with Dijon, thyme, nutmeg, salt, and pepper. Off heat, fold in half the Gruyère and half the Parmesan until melted.
Combine sauce with Brussels sprouts and half the bacon. Spread in the baking dish. Top with remaining cheeses.
Toss panko with olive oil and a pinch of salt. Sprinkle over the top with remaining bacon.
Bake until bubbling and golden, 18–22 minutes. Broil 1–2 minutes for extra color. Rest 10 minutes before serving.
Notes
Variation: Swap Gruyère for sharp white cheddar, or add a pinch of red pepper flakes for gentle heat. Make-ahead: Assemble up to 1 day in advance; cover and refrigerate. Bake covered 10 minutes, then uncover and finish until bubbling. Leftovers reheat well at 350°F for 12–15 minutes.This recipe is an original creation inspired by classic Bacon Brussels Sprouts Gratin Recipe flavors. All ingredient ratios and instructions are independently developed.