01 - Preheat oven to 400°F. Grease a 9x13-inch casserole dish with butter or non-stick spray.
02 - Bring a large pot of salted water to a boil. Add the trimmed and halved Brussels sprouts, cooking for 3-4 minutes until just tender. Drain thoroughly and set aside.
03 - In a large skillet over medium heat, melt the butter. Add the chopped onion and cook until softened, about 3 minutes. Stir in the minced garlic and cook for an additional 30 seconds until fragrant.
04 - Sprinkle the flour over the onion mixture and stir continuously, cooking for 1-2 minutes to form a smooth roux.
05 - Gradually whisk in the whole milk and heavy cream, stirring constantly until the sauce thickens, about 4 minutes. Season with Dijon mustard, salt, black pepper, and ground nutmeg.
06 - Remove the skillet from heat. Add ¾ cup of the Parmesan cheese and all of the mozzarella cheese, stirring until fully melted and smooth.
07 - Add the blanched Brussels sprouts to the skillet, tossing gently to coat evenly with the cheese sauce. Transfer the entire mixture to the prepared casserole dish, spreading into an even layer.
08 - Sprinkle the remaining ½ cup Parmesan cheese evenly over the top. In a small bowl, toss the panko breadcrumbs with olive oil and scatter over the casserole.
09 - Bake uncovered for 25-30 minutes, or until the top is golden brown and the sauce is bubbly around the edges.
10 - Remove from the oven and let rest for 5 minutes. Garnish with chopped fresh parsley and serve hot.