Roast the squash. Preheat your oven to 400°F (200°C).
Halve the spaghetti squash lengthwise and scoop out the seeds. Rub the cut sides with olive oil, season with salt and pepper, and place cut-side down on a parchment-lined baking sheet. Roast for 35–45 minutes, until the strands pull away easily with a fork and are just tender.
Shred the “noodles.” Let the squash cool slightly, then use a fork to scrape out spaghetti-like strands.
Pat with paper towels if overly moist. Keep warm.
Season the shrimp. Pat the shrimp dry and season both sides with salt, pepper, and a pinch of red pepper flakes if using.
Sauté the shrimp. Heat 1 tablespoon olive oil and 1 tablespoon butter in a large skillet over medium-high. Add shrimp in a single layer.
Cook 1–2 minutes per side, just until pink and opaque. Transfer to a plate; cover loosely to keep warm.
Make the Alfredo base. Reduce heat to medium-low. Add the remaining 2 tablespoons butter and minced garlic to the skillet.
Sauté 30–60 seconds until fragrant, not browned.
Build the sauce. Stir in heavy cream and bring to a gentle simmer. Whisk in Parmesan and cream cheese (if using) until smooth. Simmer 2–3 minutes, stirring often, until slightly thickened.
Season with salt, pepper, and lemon juice.
Combine. Add the cooked shrimp and parsley to the sauce. Toss in the spaghetti squash strands and gently fold until coated. Warm through for 1–2 minutes.
If the sauce is too thick, splash in a bit more cream; if too thin, simmer briefly.
Serve. Taste and adjust salt, pepper, and lemon. Plate with extra Parmesan and a sprinkle of parsley. Serve hot.