In a medium bowl, whisk the eggs with the Gruyère, salt and pepper. Pour the eggs over the ham and spinach and cook over moderate heat, without stirring until the bottom of the frittata is just set, about 2 minutes. Lift the edge of the frittata and tilt the pan to allow the uncooked eggs to seep underneath. Cook the frittata, continuing to lift the edges, until the bottom is set and the top is slightly runny, about 2 minutes. Place the skillet under the broiler and cook for about 1 minute until the frittata is cooked through and lightly golden is spots. Slide the frittata onto a work surface. Cut into wedges and serve warm or at room temperature.