Prep the artichokes: If using canned or jarred hearts, drain well and pat dry. If they’re large, cut them into quarters or bite-sized pieces. If frozen, thaw and pat dry.
Removing excess moisture helps the frittata set properly.
Beat the eggs: In a large bowl, whisk the eggs with the cream or milk, Parmesan, salt, and pepper until smooth and slightly frothy. Stir in chopped herbs, lemon zest if using, and a pinch of red pepper flakes.
Sauté the aromatics: Heat the olive oil in a 10-inch oven-safe skillet over medium heat. Add sliced onion and a pinch of salt.
Cook, stirring occasionally, until soft and lightly golden, about 6–8 minutes. Add the garlic and cook 30 seconds more.
Add the artichokes: Stir in the artichoke hearts and cook 2–3 minutes to warm through and lightly sear the edges. Taste and season with a bit more salt and pepper if needed.
Pour and stir: Reduce the heat to low.
Pour the egg mixture evenly over the vegetables. Use a spatula to gently nudge the mixture so eggs flow into all the gaps. Cook undisturbed for 2–3 minutes until the edges just begin to set.
Finish in the oven: Transfer the skillet to a 375°F (190°C) oven and bake 8–12 minutes, or until the center is barely set and no longer runny.
The surface should look slightly puffed and lightly golden.
Rest and slice: Remove the frittata and let it rest 5–10 minutes. This helps it set and makes cleaner slices. Serve warm or at room temperature.