Bring a large pot of generously salted water to a boil. Cook linguine until al dente according to package directions. Reserve 1 cup of pasta water, then drain and set aside.
Pat shrimp dry. In a bowl, toss shrimp with olive oil, smoked paprika, salt, and pepper. Heat a large skillet over medium-high heat. Add shrimp in a single layer and cook for 1–2 minutes per side until pink and just opaque and internal temperature reaches 145°F (63°C). Transfer to a plate.
Reduce heat to medium. In the same skillet, melt butter. Add garlic and sun-dried tomatoes; sauté for 1 minute until fragrant. Stir in red pepper flakes if using.
Pour in heavy cream and bring to a gentle simmer. Cook for 2 minutes, then whisk in Parmesan until melted and smooth. Add spinach and basil; stir until spinach wilts, about 1 minute.
Add drained linguine and cooked shrimp to the skillet. Toss everything together, adding reserved pasta water a splash at a time until the sauce clings to the pasta. Adjust seasoning.