Preheat the oven to 350F and make sure a rack is in the middle of the oven.
Heat a PADERNO Hard Anodized Cookware Set, Non-Stick, PFOA-Free, Dishwasher & Oven Safe 3 qt saute pan over high. Add the oil. Add the onions and ¼ teaspoon of the salt. Cook for 5 min, stirring often, then reduce the heat to medium-low and cook, stirring often, until deep golden brown, about 20 minutes. Reduce the heat to low if the onions are getting black. Stir in the thyme, if using.
Whisk the eggs with the cream or milk and the remaining ½ teaspoon salt in a medium bowl.
Spread the onions into an even layer in the pan. Pour the egg mixture overtop. Sprinkle the cheese over the eggs. Add a few grinds of black pepper if you like. Cook for 1 to 2 minutes, without stirring, until you can see one or two bubbling spots in the egg mixture. Transfer to the middle rack of the oven.
Bake for 5 minutes then switch on the broiler and set the timer for 2 min. After 2 min the frittata should be set but still jiggly (it will continue to cook after it comes out of the oven). If it's still wet, continue to broil, checking every 30 sec or so. Remove it from the oven and let it stand for 5 minutes before serving. Serve warm or at room temperature.
Substitution tip: Use any firm or soft cheese in place of Gruyère.