Heat olive oil in a large pot over medium heat. Add shrimp and cook for about 2 minutes per side, until pink and just cooked through. Remove and set aside.
In the same pot, add butter. Once melted, stir in the onion and celery. Sauté for about 5-6 minutes until softened.
Add garlic and red pepper flakes, cooking until fragrant, about 30 seconds.
Sprinkle in the flour, stirring constantly for about 1 minute to create a roux.
Slowly pour in the seafood stock, whisking to avoid lumps. Add milk, cream, corn, and potatoes.
Bring the soup to a gentle simmer and cook for 15-20 minutes, until potatoes are tender and soup is slightly thickened.
Return the shrimp to the pot, season with salt and pepper to taste, and heat through for 2-3 minutes.
Serve hot, garnished with chopped parsley.