01 - Preheat oven to 400°F. Lightly grease a 9x13-inch casserole dish with butter or non-stick spray.
02 - Bring a large pot of generously salted water to a rolling boil. Add the trimmed and halved Brussels sprouts, cooking for 3 to 4 minutes until just fork-tender. Drain thoroughly and set aside.
03 - In a large skillet over medium heat, melt the butter. Add the finely chopped onion and cook until softened and translucent, about 3 minutes. Stir in the minced garlic and cook for an additional 30 seconds until fragrant.
04 - Sprinkle the flour over the onion and garlic mixture. Stir continuously and cook for 1 to 2 minutes to form a smooth roux, removing any raw flour taste.
05 - Gradually whisk in the whole milk and heavy cream, pouring slowly to prevent lumps. Continue whisking over medium heat until the sauce thickens and coats the back of a spoon, approximately 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 gently until fully melted and the sauce is smooth and glossy.
07 - Add the blanched Brussels sprouts to the skillet, tossing to coat evenly with the creamy cheese sauce. Transfer the entire mixture to the prepared casserole dish, spreading into an even layer. Sprinkle the remaining ½ cup Parmesan cheese evenly over the top.
08 - In a small bowl, toss the panko breadcrumbs with olive oil until evenly coated. Sprinkle the seasoned panko over the casserole in a uniform layer.
09 - Bake in the preheated oven for 25 to 30 minutes, or until the top is deeply golden and the edges are bubbling. Remove from oven and allow the casserole to rest for 5 minutes.
10 - Sprinkle chopped fresh parsley over the top just before serving. Serve hot as a standalone vegetarian entrée or as a comforting side dish.