Preheat oven to 350° F. In a 10 to 11-inch nonstick, ovenproof skillet over medium-high heat, add oil. Sauté the mushrooms, bell pepper, and onion for 3 to 5 minutes, or until softened. In a bowl, beat the eggs. Add ham and cheese and sprinkle with salt and pepper.
Reduce heat to medium. Pour egg mixture and cook without stirring for 30 to 45 seconds, or until the eggs are set on the bottom. Continue cooking, using a spatula lift the edges of the frittata toward the center of the skillet, while gently tilting the pan so the uncooked eggs run underneath the bottom of the frittata. Cook for 15 to 20 seconds, repeating the process several times until the egg on top is still wet, but not runny. Don’t worry if the frittata looks a little lumpy.
Transfer to the oven and bake for 3 to 7 minutes, or until the top is just set. Do not overcook.
Remove from oven and let sit for 1 minute. Carefully run a spatula around the skillet edge to loosen the frittata and slide out or invert onto a serving plate.