01 - Preheat your oven to 375°F. Grease a 9x13-inch baking dish 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 butter and onion mixture, cooking for 1 minute to eliminate raw flour taste. Gradually whisk in the whole milk and heavy cream, stirring constantly to prevent lumps from forming.
04 - Continue whisking the sauce over medium heat until it thickens and coats the back of a spoon, about 3–4 minutes. The sauce should bubble gently but not boil vigorously.
05 - 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 smooth.
06 - 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 sauce.
07 - Spread the cabbage and 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.
08 - Cover the baking dish tightly with aluminum foil. Bake for 25 minutes to allow the cabbage to steam and become tender.
09 - Remove the foil and return the dish to the oven. Bake for an additional 15 minutes, or until the cheese is bubbly and golden brown on top.
10 - Let the casserole rest for 5–10 minutes before serving to allow the sauce to set slightly. Garnish with chopped fresh parsley if desired.