Slice the onions thinly (about 1/8-inch thick) and add them to a 10-inch nonstick skillet with 3 tablespoons of olive oil over medium heat. Season generously with sea salt and freshly ground black pepper. Cook for about 15-20 minutes, stirring occasionally and adding a splash of water if the onions begin to stick or brown too quickly—this keeps them soft and sweet rather than charred. The onions are ready when they're deeply golden, very soft, and any liquid has evaporated. Transfer to a bowl and let cool slightly while you prepare the egg mixture.
While the onions cool, crack the eggs into a bowl and beat them well with a fork or whisk until the yolks and whites are fully combined. Add the cooled caramelized onions from Step 1 to the beaten eggs, then fold in the grated Parmigiano-Reggiano cheese, fresh minced herbs, and a pinch of red pepper flakes. Mix gently until everything is evenly distributed. I like to taste the mixture and adjust the seasoning with another pinch of salt or pepper if needed—this ensures every bite is well-seasoned.
Heat the same 10-inch nonstick skillet over medium-high heat with 2 tablespoons of olive oil until it shimmers and just barely smokes. Pour in the egg and onion mixture from Step 2, immediately stir with a wooden spoon for about 30 seconds while gently shaking the pan, then stop stirring and let it cook undisturbed. After 2-3 minutes, the edges should begin to set and pull away slightly from the pan. Reduce the heat to medium-low and continue cooking for another 3-4 minutes until the bottom is golden brown but the top is still slightly wet.
Slide the frittata onto a large flat plate, then place the empty skillet on top and carefully flip the whole setup so the frittata lands uncooked-side-down back into the hot pan. Add another tablespoon of olive oil around the edges if needed, then cook for 2-3 minutes over medium-low heat until the second side is golden brown and the center feels just set when gently pressed. I find that letting the frittata rest in the pan for a minute before sliding it onto a serving plate helps it stay intact.
Slide the finished frittata onto a cutting board or serving plate and let it rest for a minute or two before slicing. Serve warm or at room temperature, drizzling lightly with extra virgin olive oil if desired. This frittata is excellent served as is, with a simple green salad, or with crusty bread.