Bring a big saucepan of well-salted water to a boil over high heat.
Meanwhile, add butter to a sizable sauté pan (at least 3 quarts) that has been heated to medium. Allow to slightly melt before adding the flour and garlic. While the remaining butter melts, carefully whisk in the flour to make a light roux. To keep the garlic from burning, make sure it's also covered with butter.
Whisk in your preferred stock gradually as you blend it with the roux. Add onion powder, thyme, parsley, and artichokes. After bringing everything to a boil over medium-high heat, reduce the heat back to medium and simmer it gently for three to five minutes.
Put the pasta in the boiling water. Allow one minute shorter than the recommended cooking duration.
Incorporate the cream cheese into the sauce with a gentle whisk, allowing it to melt and blend well. As the sauce thickens and the cream cheese melts, simmer for an additional three to five minutes.
In order for the fresh spinach to wilt, add it to the sauce and mix thoroughly. After the spinach has wilted, mix in the lemon juice.
After the pasta is cooked, drain it and immediately add it to the skillet. Cover with sauce, return to a vigorous simmer (if needed, increase heat a little), and allow pasta to continue cooking in sauce for an additional minute or until sauce thickens.
Add the Parmesan cheese at the end and mix until it melts. After that, plate and proceed to serve!
If preferred, sprinkle fresh parsley or more Parmesan cheese over top.