Preheat the oven to 375°F (190°C). Lightly grease a 9x13-inch baking dish or similar casserole pan.
Pat the shrimp dry with paper towels.
Season with salt, pepper, and half the Italian seasoning. Set aside while you start the sauce.
Heat a large skillet over medium heat. Add the olive oil and 2 tablespoons butter.
When the butter melts, add the garlic and cook for 30–45 seconds until fragrant, not browned.
Stir in the heavy cream and cream cheese. Whisk until the cream cheese fully melts and the mixture is smooth. Simmer gently for 2–3 minutes to slightly thicken.
Add 3/4 cup Parmesan, the remaining Italian seasoning, and the red pepper flakes if using.
Stir until melted and creamy. Season with salt and pepper to taste.
Add the spinach to the sauce and cook until wilted, 1–2 minutes. Stir in the lemon zest and lemon juice.
Taste and adjust seasoning. The sauce should be rich, garlicky, and bright.
In a separate skillet, melt the remaining 2 tablespoons butter over medium-high heat. Add the cauliflower rice, season with a little salt and pepper, and cook for 3–4 minutes to steam off excess moisture.
This helps the casserole stay creamy, not watery.
Spread the cauliflower rice evenly in the prepared baking dish as a base layer.
Arrange the seasoned shrimp over the cauliflower rice. Pour the garlic Parmesan sauce with spinach evenly over the top, making sure the shrimp are coated.
Sprinkle with the remaining Parmesan and the mozzarella. This gives you that bubbly, golden top.
Bake for 12–15 minutes, until the shrimp are opaque and just cooked through.
If you want extra browning, broil for 1–2 minutes at the end, watching closely.
Let the casserole rest for 5 minutes. Garnish with fresh parsley and serve hot.