Heat vegetable oil in a large pot over medium heat and stir in onions until they become translucent. Stir in garlic and ginger until fragrant. Add chicken and let the chicken and cook until it changes color.
Add carrots, potatoes, and chicken stock. Bring to a boil and skim the excess fat from the surface of the soup.
Add grated apple, honey, and salt. Simmer uncovered for 15-20 minutes while stirring occasionally until the potatoes and carrots are tender.
Stir the roux through a sieve into the soup. Stir until well combined.
Add soy sauce and ketchup. Simmer in low heat until the soup thicken.