In a large skillet, melt the butter over medium heat. Add the diced onion and sauté until translucent, about 3-4 minutes. Stir in the minced garlic and cook for another minute until fragrant.
Sprinkle the flour into the skillet and stir to combine, cooking for an additional minute. Gradually whisk in the heavy cream, ensuring no lumps remain. Add in the Worcestershire sauce, Creole seasoning, crushed red pepper flakes, and a pinch of nutmeg if using. Continue to stir until the mixture thickens, about 5-7 minutes.
Reduce the heat to low and mix in the Parmesan cheese and mozzarella cheese, stirring until melted and creamy. Remove from heat and fold in the sour cream until well combined.
In a separate bowl, combine the chopped spinach and shrimp. Gently fold the spinach and shrimp mixture into the cheese base until everything is evenly coated.
Preheat your oven to 350°F (175°C). Transfer the dip into a baking dish and spread it evenly. Bake for 20-25 minutes, or until the dip is bubbly and golden on top. For an extra touch, you can broil it for 2-3 minutes after baking for a beautiful golden crust.
Remove from the oven and let it cool for a few minutes before serving. Pair with tortilla chips, toasted bread, or fresh veggies for dipping. Enjoy your delicious Cheesy Shrimp and Spinach Dip with family and friends!