Heat the vegetable oil in a large skillet over medium heat. Add the chopped onion and sauté until translucent, about 5 minutes.
Stir in the minced garlic and grated ginger, cooking for an additional minute until fragrant.
Add the curry powder, cumin, coriander, turmeric, and cayenne pepper to the skillet. Cook for 1-2 minutes, stirring constantly to toast the spices.
Add the chicken pieces to the skillet and cook until they are browned on all sides, about 5-7 minutes.
Pour in the coconut milk and chicken broth, then stir in the fish sauce and brown sugar. Bring the mixture to a gentle simmer.
Reduce the heat to low and let the curry simmer for 15-20 minutes, or until the chicken is cooked through and tender.
Stir in the fresh spinach and cook until wilted, about 2-3 minutes.
Season with salt, pepper, and lime juice to taste.
Serve the curry over cooked rice and garnish with chopped cilantro.