Start by cooking your penne pasta according to the package instructions until al dente. Make sure to reserve 1 cup of the starchy pasta water before draining the pasta.
In a large skillet, heat 1 tablespoon of olive oil over medium heat. Add the diced shallots and a pinch of kosher salt. Sauté for about 2-3 minutes until the shallots become translucent. Then, add the minced garlic and continue to sauté for another minute.
Next, add the fresh baby spinach to the skillet. Stir it in and allow it to wilt down for about 2 minutes. After the spinach has wilted, add the chopped artichoke hearts, mixing them well with the spinach and shallots.
Lower the heat slightly, and add the cream cheese to the skillet. Stir it into the spinach and artichokes until it begins to melt and coat the vegetables. Gradually pour in the reserved pasta water, stirring continuously to create a creamy sauce.
Once your sauce reaches a luscious consistency, add the cooked penne pasta to the skillet. Toss everything together until the pasta is completely coated in the creamy sauce.
Sprinkle in the shredded mozzarella and freshly grated parmesan cheese. Stir well until the cheeses are fully melted and incorporated into the pasta. Taste and adjust the seasoning with more salt and pepper if necessary.
Serve the Spinach Artichoke Pasta Skillet hot, garnished with additional parmesan cheese if desired.