Heat a large pot of salted water to high and bring it to a boil. Meanwhile, prep and gather everything needed for the rest of the recipe and collect it all in one place.
Add pasta to boiling water and set a timer for 1 minute less than the cooking instructions state. For spaghetti, it's usually 10 mins, so set a time for 9 minutes.
After 5 minutes has passed, heat a skillet over medium and add butter. Melt and then add garlic and saute for 1-2 minutes. Add spinach saute, stirring to coat all of the spinach in butter and wilt. Approximately 1-2 minutes.
Just before the pasta is done, use a measuring cup to get 3/4 cup of pasta water and add it to the spinach. Drain pasta and add to skillet. Don't rinse your pasta! You need that starch on the pasta for the sauce to cling to it.
Add the cheeses, herbs, salt, pepper, lemon zest and juice to the saute pan and stir well with the pasta, melting the cheese with the pasta water and coating the pasta with the sauce.
Continue to stir and let pasta finish cooking in the sauce, stirring often to coat, approximately 1-2 minutes.
Add fresh chopped parsley and serve!