Heat oil in a large saucepan over medium heat. Add the ginger, shallots, lime leaves or zest, chillies and lemongrass. Fry for 2-3 minutes, until everything has a bit of color.
Add the chicken and continue to fry for 3-4 minutes, until the chicken is light golden. Pour in the stock and bring the mixture up to a boil. Reduce the heat and simmer for 20-25 minutes, until the chicken juices run completely clear. Remove the chicken from the pan and set aside to cool slightly, before stripping the meat from the bone and tearing it into bite-sized pieces.
Strain the cooking liquid into another large saucepan, pressing everything down in the sieve to extract as much flavor as possible. Add the coconut milk to the pan, along with the sugar. Heat the soup until simmering, then add the corn and mushrooms and cook for a further 2 minutes. Return the chicken to the pan to warm through. Stir in the fish sauce and lime juice.
Ladle the soup into individual bowls and serve sprinkled with coriander and a wedge of lime.