Preheat oven to 400 degrees F.
In a large bowl, whisk
together eggs, cream, Gruyere cheese, salt, and pepper until foamy. Melt
butter in a cast iron pan over medium heat. Add the onion and potatoes and cook thoroughly. Pour the egg mixture over the top. Pull the edges away from the sides of the pan with a spatula
so the eggs flow to the bottom of the pan. When the frittata
is half set, add the ham
Transfer the pan to the heated oven. Bake for 10 minutes until puffed and golden. Shower with grated Parmesan
and serve garnished with sour cream