Heat the oil in a dutch oven over medium heat. When the oil is hot add the onion, serranos, and ginger. Stir to combine and cook while stirring for 1 minute.
Add the chicken stock, coconut milk, soy sauce, lime zest and lime juice and bring to a boil over medium-high heat.
Add the chicken thighs to the pot and return to a boil. Cover the pot and reduce heat to medium-low. Simmer until chicken is very tender, about 40 minutes.
Transfer the chicken from the soup to a plate, discard the bones and shred the chicken using two forks. Return the chicken to the soup and stir. Season soup with salt and pepper to taste. Ladle into bowls and sprinkle with freshly chopped cilantro.