Peel onion, halve, and slice into thin half-moons. You should have about 1 ¼ cups, once it is sliced.
Wipe mushrooms gently with a damp paper towel to brush off any dirt, then cut off the stems and slice thinly.
Wash spinach and pat dry, then chop roughly.
Reserve 1 T. of feta cheese for a garnish. Then whisk eggs with the remaining feta cheese in a small bowl, along with ¼ t. pepper and ¼ t. salt.
Heat a 10-inch nonstick, oven-safe skillet over medium heat, and add 1 T. butter.
When butter has melted, add onions and cook over medium heat until softened, about 10 minutes. If onions start to brown too quickly or burn, turn down the heat.
Add shiitake mushrooms, 1 T. butter, and ¼ t. salt. Cook until onions are almost caramelized and mushrooms have released their liquid, about 5 more minutes. Then add the spinach and stir until just softened, about 1 minute.
Give the egg mixture a quick whisk, and pour into the pan. Spread the filling around so it is evenly distributed through the eggs.
Then preheat the broiler on high and continue to cook the frittata on the stove for 4-5 minutes. The best way to do this is let the frittata mixture cook for a minute without touching it. Then gently lift the edges with your spatula, tip the pan, and let the uncooked egg mixture pool underneath. Do that a few times in different spots, as it cooks. Watch the heat because you don’t want the bottom of your frittata to burn.
When the bottom is totally set, and the egg mixture on top is about halfway cooked, you’re ready to put it under the broiler. Note: it’s ok for the top to still look raw.
Slide your pan onto the top rack of the oven, several inches from the broiler. Watch closely because this can happen fast: take it out when the frittata puffs up pleasingly, looks entirely cooked, and has lightly browned on top, 2-3 minutes. Let it rest for a few minutes. It will continue to cook in the pan as it sits. Then give it a quick hard shake and slide it out onto a cutting board.
Garnish with the reserved feta and cherry tomatoes, if using. Slice and eat!
Notes
Leftovers can be wrapped up, kept in the fridge for a few days, and nibbled on as you like, cold or warmed up. Slices also freeze beautifully.