Preheat oven to 375°F (190°C).
Heat the olive oil in a 10-inch cast iron skillet over medium heat. Add the onion and garlic and cook until softened, about 3 minutes.
Add the spinach and tomatoes to the skillet and cook until the spinach is wilted and the tomatoes are softened, about 3 minutes.
Sprinkle 1/4 cup of the cheese over the vegetables and stir to combine.
In a medium bowl, whisk together the eggs, milk, salt and pepper. Pour the egg mixture over the vegetables in the skillet.
Cook the frittata for 5 minutes without stirring, until the edges start to set.
Sprinkle the remaining 1/4 cup cheese over the frittata.
Transfer the skillet to the preheated oven and bake for 15 minutes, or until the frittata is set in the center.
Remove from oven and let cool slightly before slicing and serving.