Preheat and prep: Heat the oven to 375°F (190°C).
Lightly grease a 9x13-inch baking dish. Bring a large pot of salted water to a boil.
Cook the pasta: Boil the pasta until just shy of al dente, about 1–2 minutes less than the package suggests. Drain and set aside.
Toss with a drizzle of olive oil to prevent sticking.
Season the shrimp: Pat shrimp dry. Season with salt, pepper, and a pinch of red pepper flakes if you like a little kick.
Sear the shrimp: In a large skillet, heat 1 tablespoon olive oil and 1 tablespoon butter over medium-high heat. Add shrimp in a single layer and cook 1–2 minutes per side, just until pink and opaque.
Transfer to a plate. Do not overcook.
Build the sauce base: Reduce heat to medium. Add remaining 3 tablespoons butter to the skillet.
Stir in garlic and cook 30–60 seconds until fragrant, not browned.
Cream it up: Pour in heavy cream and stock. Simmer gently for 3–4 minutes, stirring, until slightly thickened. Whisk in cream cheese (if using) until smooth.
Add the cheeses: Reduce heat to low.
Stir in 1 cup parmesan and 1/2 cup mozzarella until melted and glossy. Season with salt, pepper, and lemon zest. Taste and adjust.
Combine: Add cooked pasta and shrimp to the skillet.
Fold gently to coat everything in the sauce.
Assemble the bake: Transfer to the prepared baking dish. Top with remaining parmesan and mozzarella. If using panko, toss it with a teaspoon of olive oil and sprinkle over the cheese.
Bake: Bake 12–15 minutes, until the top is melted and bubbling.
For extra color, broil 1–2 minutes at the end—watch closely.
Finish and serve: Let rest 5 minutes. Sprinkle with parsley. Serve with lemon wedges for a bright finish.