Cook the pasta according to package instructions in a large pot of salted boiling water until al dente. Reserve 1 cup of pasta water, then drain and set aside.
In a large skillet over medium heat, add olive oil and 2 tablespoons of butter. Once melted, add the minced garlic and sauté for about 1 minute until fragrant.
Add the shrimp to the skillet, seasoning with salt, pepper, and red pepper flakes if using. Cook for 2-3 minutes on each side until the shrimp turn pink and opaque. Remove the shrimp from the skillet and set aside.
In the same skillet, add the cherry tomatoes and cook for about 3-4 minutes until they start to soften. Add the spinach and cook until wilted, about 2 minutes.
Return the shrimp to the skillet and add the cooked pasta. Pour in the reserved pasta water and the remaining 2 tablespoons of butter. Squeeze in the lemon juice and toss everything together until well combined. Adjust seasoning if necessary.
Serve immediately, garnished with fresh parsley and grated Parmesan cheese.