Preheat oven to 375°F. Grease a 9x13-inch baking dish.
Melt 2 tbsp butter in a large skillet over medium heat.
Cook onion until translucent, 4 to 5 minutes. Stir in garlic and cook 30 seconds.
Add cabbage, 0.5 tsp salt, and 0.25 tsp pepper. Cook, stirring, until wilted, 8 to 10 minutes.
Transfer the cabbage mixture to a bowl.
Melt 1 tbsp butter in the same skillet. Sprinkle in flour and cook, stirring, 1 minute.
Gradually whisk in milk and cream. Simmer until thick enough to coat a spoon, 3 to 4 minutes.
Season with mustard, nutmeg, remaining salt and pepper. Off heat, stir in 1.5 cups cheddar and half the Parmesan.
Fold the cabbage into the cheese sauce. Spread mixture in the prepared dish.
Melt remaining 1.5 tbsp butter. Toss with breadcrumbs, remaining Parmesan, and paprika. Sprinkle over the casserole, then top with remaining cheddar.
Bake 20 to 25 minutes until bubbling and golden. Let rest 10 minutes before serving.