1. Crack the eggs into a small bowl. Season with salt and pepper and beat well with a fork.
2. Heat the olive oil in a medium pan over medium heat. Add the spinach and sauté until just wilted, about 1 minute.
3. Pour the beaten eggs into the pan and spread into an even layer. Cook undisturbed until set, about 2 minutes. Turn off the heat, then fold the edges of the eggs inward to create a rectangle about the size of your bread. Transfer to a plate.
4. Spread some butter on one side of each slice of bread. Flip the bread over so the buttered sides are facing down. Top one slice with the egg, cheese, and the second slice of bread, with the buttered side facing up.
5. Preheat a grill pan over medium heat. Place the sandwich in the pan and top with a piece of parchment paper. Set a heavy skillet on top to gently press the sandwich. Cook until golden brown, about 3 minutes. Remove the skillet and parchment paper, flip the sandwich, then replace the parchment paper and skillet. Cook until the second side is golden brown and the cheese has melted, 1 to 2 minutes.
6. Slice in half and enjoy!