To make the soup, bring a large saucepan to medium heat and add butter. Once the butter starts melting, add onions and garlic. Sauté them for 4-5 minutes till the onions start turning translucent.
Leaving aside ¼ cup of corn kernels, add the rest to the pan and stir properly. Now add vegetable stock and let it cook for about 15-20 minutes. Let it simmer.
Once done, remove the soup from heat and let it cool for about 5 minutes. Then, blend the soup with a stick or an immersion blender until you get a smooth consistency.
Add salt, pepper, milk and bring the soup to simmer again. Stir it well for about 5 minutes. Now remove it from heat. Your soup is ready.
Once done, keep a pan on medium heat and add the leftover corn to it. Cook the kernels on the dry pan till they become golden-brown and toasty. Keep flipping them to avoid them from burning.
Serve the soup in bowls and garnish with cream, toasted corn, fresh basil, and thyme leaves.
Notes
If you are using frozen corn, then remove it from the refrigerator about 10 minutes before you start cooking.
Skip blending if you like your soup to have corn chunks. Stir the soup for 5 extra minutes while it is simmering to mix everything well.
If you are using potatoes to make the soup creamy and thick, add them along with the corn and let them cook until they are fork-tender.
If there are any leftovers, store them in an airtight container and refrigerate. You can store the soup for as long as 2 months if you place it in a freezer-safe container.