01 - Preheat your oven to 375°F. Grease a 9x13-inch baking dish lightly with butter or cooking spray.
02 - In a large skillet over medium heat, melt the butter. Add the diced onion and cook until soft and translucent, about 3 minutes. Add the minced garlic and cook for 1 minute more until fragrant.
03 - Stir the flour into the skillet and cook for 1 minute to remove the raw flour taste. Gradually whisk in the whole milk and heavy cream, stirring constantly to prevent lumps from forming. Continue whisking until the sauce thickens and bubbles, about 3–4 minutes.
04 - Stir in the salt, black pepper, and paprika. Remove the skillet from heat. Add 1 cup of the shredded mozzarella cheese and 1/2 cup of the grated parmesan cheese, stirring until completely melted and the sauce is smooth and creamy.
05 - In a large mixing bowl, combine the shredded cabbage, chopped corned beef, and the prepared cheese sauce. Mix thoroughly until all ingredients are evenly coated with the sauce.
06 - Spread the cabbage and corned beef mixture evenly into the prepared baking dish. Top with the remaining 1/2 cup of mozzarella cheese and a generous sprinkle of additional parmesan cheese for a golden, bubbly topping.
07 - Cover the baking dish tightly with aluminum foil. Bake in the preheated oven for 25 minutes to allow the vegetables to steam and soften.
08 - Remove the foil and return the dish to the oven. Bake for an additional 15 minutes until the cheese topping is bubbly, golden brown, and slightly crisped around the edges.
09 - Let the casserole rest for 5–10 minutes before serving to allow the sauce to set slightly. Garnish with chopped fresh parsley if desired. Serve warm.