Heat the oil in a large skillet over medium heat until shimmering. Add the chopped onion and cook, stirring occasionally, until translucent and slightly golden, about 5 minutes.
Add the minced garlic and grated ginger to the skillet. Stir frequently, cooking until fragrant, about 30 seconds to 1 minute, filling the air with a warm aroma.
Sprinkle in the curry powder, cumin, and coriander. Cook while stirring for about a minute, allowing the spices to toast slightly and release their fragrant oils.
Add the chicken pieces to the skillet. Cook, stirring occasionally, until they develop a light golden color on the outside, about 5-7 minutes.
Pour in the coconut milk, stirring well to scrape up any flavorful bits from the bottom of the pan. Bring the mixture to a gentle simmer.
Reduce the heat to low and cover the skillet. Let the curry simmer gently for about 15-20 minutes, stirring occasionally, until the chicken is cooked through and the sauce thickens slightly.
Uncover and taste the sauce, then adjust the salt as needed. Continue cooking for another 2-3 minutes until the sauce is rich and glossy.
Turn off the heat and let the curry rest for a few minutes; this helps the flavors meld and the sauce to set slightly.
Scoop the creamy chicken curry onto warm plates, spooning the sauce generously over the tender chicken pieces. Serve with rice or your favorite sides.