Grill the corn: Brush corn with olive oil and a pinch of salt. Grill over medium-high heat, turning until lightly charred on all sides, 8–10 minutes. Let cool, then slice kernels off the cobs.
If using frozen or canned, sear in a hot skillet until browned in spots.
Build the base: In a large pot, warm 1 tablespoon olive oil over medium heat. Add onion and a pinch of salt. Cook until soft and translucent, 5–7 minutes.
Stir in garlic and cumin; cook 30 seconds until fragrant.
Add the body: Add diced potato, smoked paprika, and most of the corn (reserve about 1/2 cup for garnish). Stir to coat.
Simmer: Pour in broth and add the bay leaf. Bring to a gentle boil, then reduce to a simmer.
Cook until potatoes are tender, about 12–15 minutes.
Blend for creaminess: Remove bay leaf. Blend about half the soup using an immersion blender in the pot, or transfer half to a countertop blender and blend until smooth. Return to the pot and stir.
Adjust thickness with a splash of broth or water if needed.
Enrich and brighten: Stir in butter and optional milk/coconut milk. Add lime juice. Taste and season with salt and pepper.
Finish and serve: Ladle into bowls.
Top with the reserved grilled corn, herbs, a dollop of yogurt or sour cream, and a sprinkle of chili flakes or hot sauce if you like heat.