Preheat the oven to 300F.
To a large bowl, add the eggs and ¼ teaspoon salt and whisk thoroughly until totally smooth (give it some muscle, you don’t want any egg white streaks in there - it should be uniform and a little bubbly when it’s done). Stir in ½ cup each of the cheddar and gruyere.
In a large (12”) cast-iron or oven-proof skillet over medium-high heat, warm the olive oil. Once the oil is hot, add the potatoes and spread out into an even layer. Sprinkle with ½ teaspoon salt and pepper and cook, undisturbed, until the potatoes are crispy and golden on the bottom, about 3-5 minutes. Flip them over and cook for another 2-4 minutes or until the potatoes are cooked and golden, breaking up into chunks.
Reduce the heat to medium and add the onion, half of the greens, and the remaining ½ teaspoon salt. Cook, stirring often, for a minute just to wilt down the greens then add the rest of the greens. Cook until the onion is softened, greens are wilted, and no water remains in the skillet, about 5 more minutes, stirring occasionally and scraping up anything stuck to the bottom of the pan.
Turn off the heat and spread the veggies out evenly.
Give the eggs one more whisk, then pour into the pan, distributing it evenly all around. Use a wooden spoon or spatula to evenly distribute the veggies in the frittata if they look uneven. Sprinkle the remaining ½ cup each cheddar and gruyere on top along with the parmesan and some more black pepper, if you’d like.
Transfer to the oven and bake for 20-25 minutes, or until the eggs are mostly set and no longer jiggly in the center (it will continue to cook as it cools, it should feel relatively firm in the center but not hard). Let the frittata rest for 10 minutes to finish cooking through and cool off.
Use a knife or flexible spatula to loosen the edges, if needed. The first slice is always tricky to get out. Slice it up and serve warm.