Begin by bringing a large pot of salted water to a boil. Add the penne pasta and cook according to package instructions until al dente. Once done, drain and set aside, reserving about 1 cup of pasta water.
In a large skillet over medium heat, melt the butter. Add the minced garlic and sauté for about 1 minute until fragrant, being careful not to burn it.
Sprinkle the flour over the melted butter and garlic, whisking continuously for about 2 minutes to cook off the raw flour taste. This will create a roux that thickens the sauce.
Slowly whisk in the chicken or vegetable broth and then the milk. Continue whisking until the mixture is smooth and begins to thicken, about 3-5 minutes.
Stir in the dried basil, garlic powder, Italian seasoning, dried parsley flakes, and crushed red pepper flakes. Season with salt and pepper to taste, allowing the flavors to meld for another 2 minutes.
Add the chopped sun-dried tomatoes and baby spinach to the sauce, stirring until the spinach wilts and everything is well combined.
Add the cooked penne pasta to the skillet, tossing everything together until the pasta is evenly coated with the creamy sauce. If the sauce is too thick, add reserved pasta water a little at a time until desired consistency is reached.
Remove the skillet from heat and stir in the freshly grated parmesan cheese, allowing it to melt into the sauce. Top with fresh chopped basil for a burst of flavor.