Step 1Shuck the corn and remove the silk. To cut the kernels from the cob, place each cob stem end down on the counter and with a sharp knife, cut down on the cob. Set the kernels aside.
Step 2Cut or break the cobs in half and place in a 5-quart saucepan. Add the water and bring to a boil. Cover and simmer 1 hour. Remove the cobs from the pot and discard. Boil the broth over high heat, reducing it to 4 cups, about 10 minutes. Pour the broth into a bowl and set aside.
Step 3Wipe out the saucepan. Cook the onion in the butter until tender, 2 to 3 minutes. Add the corn and cook until tender, about 5 minutes. Add the reserved broth and the salt. Cover and simmer 15 minutes.
Step 4Puree half of the soup in a blender and return to the saucepan, stirring to combine until heated through. Spoon the soup into serving bowls and garnish with pepper and either basil or cilantro leaves.