In a large skillet over low heat, melt the butter and add the garlic. Cook on low for 2 - 3 minutes. Don't let the garlic get browned.
Season the shrimp with salt and pepper. Add the shrimp to the skillet and cook on medium heat for about 2 minutes per side or just until it starts getting pink. You want the shrimp a bit under cooked. Transfer to a bowl and set aside.
In the same skillet, heat the olive oil over medium high heat. Add the chopped onions and cook for about 3 - 4 minutes or until they become soft and translucent. Add the wine and scrape the bottom of the skillet. Cook for about 3 minutes or until the wine reduces by about half.
Add the sun dried tomato strips and mix well. Cook for a couple of minutes. Stir in the heavy cream and water or broth and Italian herbs. Simmer over low heat stirring frequently for about 2 - 3 minutes.
Add the spinach leaves and allow to wilt. Add the Parmesan cheese and mix to combine. Adjust seasoning.
Return the shrimp to the skillet. Add the fresh herbs and gently mix well to combine. Let the shrimp cook for about 2 - 3 minutes or until cooked through.
If Serving with Pasta
Add cooked pasta into the shrimp skillet. Gently mix well. Add some of the reserved pasta cooking water while mixing (a little bit at a time). You may need to add extra if the pasta is too dry. Serve hot.
*Use wine like Chardonnay or Pinot Grigio and stay away from sweet wines ** If using sun dried tomatoes packed in oil, drain them well