Sift flour, add salt, and then cut in the butter until dough is a consistency similar to bread crumbs. Slowly add the cold water and once combined shape into a smooth ball (don't over work), wrap in foil, and put in fridge to cool / rest for at least 30 minutes.
Blind bake the crust. Pre-heat oven to 350 degrees. After 30 minutes, remove from fridge and roll out into a large circular shape on a floured surface. Gently place the dough over and into a 9 inch 1 1/4 inch deep pie pan (standard size) and then cut off excess around the edges. Bake for 10 minutes.
Meanwhile, add garlic and onions to a saute pan with olive oil. Saute until onions are translucent. Add ham and then spinach and cook until spinach is wilted.
In a large bowl, add eggs and milk and whisk vigorously. Then add ham, onions, and spinach and mix, then add cheese and mix all together.
Slowly pour the mixture into the pre-baked pie crust and then add to oven. Bake for 40-50 minutes until middle is done and set. Edges should be browned, center set but still a little jiggly. Let cool for at least 10 minutes and then enjoy!