Slice corn kernels off cob and place in a bowl. Run the back of a knife along each cob to remove additional corn pulp and add to bowl; reserve cobs.
In a medium soup pot or Dutch oven, melt butter over medium heat. Stir in onion, shallot and garlic. Cook, stirring occasionally, until softened, about 5 minutes.
Add broth, reserved cobs, 1 cup water and 1 teaspoon salt to pot. Bring to a boil over high heat. Immediately reduce heat to medium and simmer for 10 minutes. Add potatoes and simmer until potatoes are tender, about 15 minutes longer. Remove cobs and discard.
Stir in corn kernels and pulp, tomatoes, remaining 1/2 teaspoon salt and pepper. Simmer for 20 minutes more. Stir in the basil and lime juice. Turn off heat and let soup cool for at least 15 minutes before serving. Serve warm with a dollop of creme fraiche or sour cream if desired.