Heat a large pot of well salted water on high to bring to a boil.
Meanwhile, heat a large saute pan (at least 3 qt) over medium and add butter. Let melt a little before adding garlic and flour and gently whisk flour and butter while the rest melts to create a light roux. Ensure that the garlic is coated in butter as well to prevent burning.
Slowly add stock of choice and whisk to combine with roux. Add artichokes, parsley, thyme, and onion powder. Turn heat up to medium high to bring it all to a boil then turn back down to medium to let gently simmer for 3-5 minutes.
When water comes to a boil, add pasta. Set time for 1 minute less than suggested cooking time.
Add half and half and cream cheese and gently whisk cream cheese into sauce so that it all melts and incorporates well. Simmer for another 3-5 minutes while the cream cheese melts and sauce thickens.
Add fresh spinach to the sauce and stir well into the sauce to wilt. Once spinach has wilted, add lemon juice and stir.
When pasta is done drain and Immediately add pasta to saute pan. Coat with sauce, bring back up to a vigerous simmer (turning up heat slightly if necessary) and let pasta finish cooking in the sauce for another minute or until sauce thickens.
Finsih with Parmesan cheese and stir well to melt. Then plate and serve!
Top with additional Parmesan cheese or fresh parsley if desired.