Preheat oven to 400°F (200°C) and grease a 9x13 baking dish.
Combine beef, egg, breadcrumbs, Parmesan, garlic, onion powder, paprika, salt, and pepper. Form into meatballs.
Brown meatballs in skillet for 2–3 minutes per side; transfer to plate.
Add diced potatoes and onions to baking dish, drizzle with melted butter, and season lightly.
Arrange meatballs on top, pour over heavy cream, and cover with foil.
Bake 35–40 minutes until potatoes are tender, then top with cheeses and bake uncovered 10 more minutes.
Garnish with parsley and serve warm.