In a large pot, bring salted water to a boil. Add the pasta and cook according to package instructions until al dente. Drain and set aside, reserving about 1/2 cup of pasta water.
In a large skillet, heat the olive oil over medium heat. Add the minced garlic and sauté for about 1 minute until fragrant but not browned.
Stir in the chopped artichoke hearts and cook for another 2-3 minutes. Add the fresh spinach, stirring until wilted and combined with the artichokes.
Reduce heat to low. Add the heavy cream, softened cream cheese, Parmesan cheese, onion powder, garlic powder, salt, and pepper. Stir continuously until the mixture is smooth and creamy. If the sauce is too thick, gradually add reserved pasta water until desired consistency is reached.
Add the drained pasta to the skillet, tossing to coat evenly in the creamy sauce. Allow to heat through for about 2-3 minutes, mixing everything well.
Adjust seasoning with additional salt, pepper, and red pepper flakes if desired. Garnish with fresh basil leaves before serving.