Preheat the oven: Set oven to 375°F (190°C). Grease a 9x13-inch baking dish with butter or cooking spray.
Prepare the potatoes: Peel and slice potatoes into ¼-inch rounds. Place in cold water to prevent browning.
Sauté the aromatics: In a large skillet, melt butter over medium heat. Add diced onion and sauté for 3-4 minutes until translucent. Add garlic and cook for 30 seconds until fragrant.
Make the creamy sauce: Pour in heavy cream, add garlic powder, paprika, salt, and pepper. Simmer for 2-3 minutes until slightly thickened. Stir in 1 cup cheddar cheese until melted.
Assemble the casserole: Drain and pat potato slices dry. Layer half in the baking dish, pour half the sauce over. Repeat with remaining potatoes and sauce. Sprinkle remaining cheddar and Parmesan on top. Add breadcrumbs if using.
Bake: Cover with foil and bake for 30 minutes. Uncover and bake 15-20 minutes until golden and bubbly. Add bacon in the last 5 minutes, if using.
Garnish and serve: Let cool for 5 minutes. Garnish with parsley and serve warm.