Prepare the Ingredients: Start by peeling and deveining the shrimp if they are not already cleaned. Pat them dry and set them aside in the refrigerator while preparing the soup base. Chop the onion, mince the garlic, and dice the potato into small cubes so they cook evenly and quickly.
Sauté the Aromatics: In a large pot, heat butter and olive oil over medium heat. Add the chopped onion and cook gently for about three to four minutes until it becomes soft and fragrant. Stir in the minced garlic and cook for another minute, allowing the aroma to bloom without letting it burn.
Build the Base: Add the diced potato and corn to the pot, stirring well to coat them with the butter and aromatics. Let them cook for about two minutes so the corn slightly warms and the potato starts absorbing flavor from the base ingredients.
Add Broth and Simmer: Pour the broth into the pot and bring everything to a gentle simmer. Allow the soup to cook for about 10 to 12 minutes until the potato cubes become tender. This step creates the heart of the soup and helps the flavors blend together.
Slightly Thicken the Soup: If you prefer a thicker soup, whisk the flour with a few tablespoons of the hot broth in a small bowl until smooth. Stir this mixture back into the pot and let it simmer for another few minutes so the soup becomes slightly creamy and velvety.
Add the Shrimp: Reduce the heat slightly and gently add the shrimp to the simmering soup. Cook for about three to four minutes until the shrimp turn pink and opaque. Be careful not to overcook them, since shrimp become firm quickly.
Stir in Milk and Seasonings: Pour in the milk or half-and-half and stir gently. Add paprika, salt, and black pepper, tasting and adjusting the seasoning as needed. Let the soup warm through for another two minutes without boiling so the dairy stays smooth.
Finish and Serve: Turn off the heat and sprinkle chopped green onions or parsley over the soup. Ladle into bowls while still hot, allowing the sweet corn and tender shrimp to shine in each spoonful.