Heat the vegetable oil in a large pot over medium heat. Add the chopped onion and cook for 3 minutes until it softens.
Stir in the minced garlic and grated ginger. Cook for 1 minute until fragrant.
Add the chicken pieces along with the salt and black pepper. Cook for 5 minutes, stirring occasionally, until the chicken is lightly browned on all sides.
Sprinkle the curry powder over the chicken and stir to coat everything evenly. Cook for 1 minute more.
Add the diced potatoes and chicken broth. Bring the mixture to a simmer, then cover and cook for 15 minutes until the potatoes are tender.
Pour in the coconut milk and stir well. Simmer uncovered for 5 minutes to let the flavors blend.
Add the spinach leaves in batches, stirring until they wilt into the stew. Remove from heat and serve.