Make the dough by adding your flour and salt to a food processor, or if mixing by hand, add to a medium mixing bowl.
In the food processor, add your butter and pulse until it resembles sand. By hand, crumble the butter and flour mixture between your fingers until you get to a similar, sand like consistency.
Add your ice water to the food processor and pulse until the dough just comes together. You can add a little more water if it is still very crumbly! By hand, just add your ice water and press together until you get a cohesive dough.
Wrap your dough and chill for about 30 minutes in the fridge.
Preheat your oven to 400 F (204 C).
While your dough is chilling and the oven is pre-heating, cut the asparagus into 1-1.5 inch pieces. Cook on medium to low heat for about five minutes until lightly browned. Transfer to a large mixing bowl to cool. Dice the onion and mince the garlic and add to the same pan you were cooking the asparagus. Cook for a few minutes until the onions are translucent, then add the spinach until just wilted. Transfer to the same large mixing bowl and let this cool down while you roll out the dough.
Once your dough has chilled, roll out to a large, mostly rectangular shape (or circular, depending on the shape of your pan!) between 1/8 and 1/4 inch thick. We used a large pan for this recipe (9x13inch glass pan).
Roll your dough around your rolling pin and transfer to your pan. Adjust or patch any empty spaces and trim the edges.
Prick the dough with a fork all over. If the dough has warmed up a lot while you've been working with it, you can put it in the freezer for 5-10 minutes to firm up again! This will help the dough not shrink back as much from the edges of the pan.
Bake the dough for about 15 minutes until lightly golden brown.
While the dough is baking, crack the eggs into a separate bowl and whisk together. Cut the ham slices into small cubes and grate the cheddar cheese (if needed).
Add the eggs, half and half, cheddar cheese, ham and salt and pepper (to taste) into the mixing bowl with your vegetables. Stir to combine everything well.
Once the base has baked, take it out of the oven and lower the oven temperature to 350 F (176 C). Add the filling to the base. Add fresh mozzarella to the top of the quiche.
Bake for around 30-40 minutes or until the quiche has set in the center. Depending on the type of pan you are using, it may take a little longer!
Once it has baked, let it cool for about 15 minutes, slice, and enjoy!