In a large pot, bring water to a boil and add a pinch of salt. Cook the penne pasta according to the package instructions until al dente. Reserve 1 cup of pasta water, then drain and set aside.
In a large skillet, heat the olive oil over medium heat. Add the minced garlic and sauté for about 1 minute until fragrant.
Stir in the chopped artichoke hearts and cook for 2-3 minutes. Then, add the fresh spinach and cook until wilted.
Reduce the heat to low. Add the softened cream cheese and heavy cream to the skillet, stirring until well combined and creamy. If the mixture is too thick, gradually add the reserved pasta water until the desired consistency is reached.
Stir in the grated Parmesan cheese, and season with red pepper flakes, salt, and pepper to taste.
Add the cooked penne pasta to the creamy sauce, tossing until the pasta is evenly coated.
Plate the pasta and garnish with chopped fresh basil or parsley if desired.