Preheat the oven to 350°F (180°C).
To prepare the egg mixture, crack the eggs in a large bowl. Pour in the milk and add salt and pepper. Whisk to combine. Set it aside.
To make the filling, heat oil in a 12-inch nonstick skillet over medium heat. Add the scallions and cook, stirring frequently, until softened for about 2 to 3 minutes.
Stir in the garlic and cook for 30 seconds.
Add the baby spinach and cook until wilted.
Pour in the eggs. Sprinkle it with the feta cheese. Using a spatula, gently stir and scrape the bottom of the skillet until large curds form but the eggs are still wet for about 30-45 seconds.
Smooth the top into an even layer with the back of a spoon, then cook for 30 seconds. The bottom should start to set while the eggs on top are still watery.
Place it in the oven and bake until the center is no longer jiggly and edges are golden brown, about 8-9 minutes.
Meanwhile, make the (optional) topping: Mix tomatoes, onions, lemon juice, olive oil, parsley, salt, and pepper in a bowl.
When the frittata is fully baked, carefully loosen the edges using a spatula and transfer it onto a cutting board. Let it cool for 5 minutes.
Garnish with the tomato mixture. Slice and serve.