Peel (if desired) and cut potatoes into evenly sized chunks, about 1-1.5 inches. Place in a large pot and cover with cold water by about an inch. Add a pinch of salt.
Bring to a gentle boil over medium-high heat, then reduce to a simmer. Cook until potatoes are tender when pierced with a fork, about 15–20 minutes depending on size.
While potatoes cook, warm the milk and heavy cream together with half the butter in a small saucepan until the butter melts and the mixture is hot but not boiling. This prevents cooling the potatoes when you mash.
Drain the potatoes well and return them to the still-warm pot. Shake the pot briefly over low heat to remove excess moisture.
Mash potatoes using a potato masher or ricer until mostly smooth. Pour in the warm milk-cream-butter mixture a little at a time, stirring to reach your desired creaminess.
Stir in grated cheddar and half the Parmesan until melted and combined. Season with salt, pepper, and garlic powder to taste.
Preheat the broiler (or oven to 450°F / 230°C). Transfer mashed potatoes to a buttered or oiled shallow baking dish. Smooth the top and dot with the remaining butter or brush with olive oil. Sprinkle remaining Parmesan evenly over the top.
Place under the broiler 4–8 inches from the heat source for 3–7 minutes, watching constantly, until the top is bubbling and golden brown with crispy edges.
Remove from the oven, let sit 2–3 minutes, garnish with chives or green onions, and serve hot.