Begin by heating your oil in a high-quality non-stick pan over medium heat. Toss in the chopped onions and sauté until they are soft and translucent. Add the mushrooms and cook for another minute; you want the mushrooms to release their moisture and start to brown, which intensifies their earthy flavor.
Whisk your eggs in a small bowl with salt and pepper. Pour them directly over the sautéed vegetables, swirling the pan to ensure they cover the bottom evenly. Immediately scatter your cooked meat across the liquid eggs so they set together.
As the eggs begin to firm up at the edges, arrange your tomato slices and hot peppers on one half. Pile the fresh spinach on top—don’t worry if it looks like a lot, it will wilt down perfectly. Sprinkle exactly half of the mozzarella over the entire surface.
Place your large tortilla flat on top of the egg and cheese mixture. Cover the pan with a tight-fitting lid for one minute. This allows the spinach to steam and the cheese to act as a glue between the eggs and the tortilla.
Slide the entire mixture onto a large, flat plate. Place the pan upside down over the plate and, holding both firmly, flip them together so the tortilla is now on the bottom of the pan.
Sprinkle the remaining mozzarella on the egg side. Once you hear the tortilla beginning to sizzle and turn golden, use a spatula to fold the quesadilla in half. Press down gently to lock the cheese and let it cook for another 30–60 seconds.
Slide the quesadilla onto a board, let it rest for a minute so the cheese sets, then slice into wedges.