Heat vegetable oil in a large pot over medium-high heat until it shimmers. Add your sliced onion and cook for about 3-4 minutes until softened and translucent. You'll hear it sizzle—that's exactly what you want. Stir occasionally so nothing burns on the bottom.
Add minced garlic and grated ginger to the pot and stir constantly for 30 seconds. The kitchen's gonna smell absolutely amazing right about now. Don't let it sit without stirring or the garlic will burn and taste bitter.
Sprinkle in curry powder, turmeric, cumin, and coriander, stirring everything together for about 1 minute. This blooms the spices and makes them way more flavorful than if you just dump them in raw. You want that toasted spice smell filling your kitchen.
Add tomato paste and stir it into the spice mixture for 30 seconds. Then add your chicken pieces and cook for 2-3 minutes, stirring occasionally, until the outside gets just a little color. Don't panic if it doesn't brown perfectly—it'll finish cooking in the sauce.
Pour in chicken broth and stir well, scraping up any stuck bits from the bottom of the pot. Bring everything to a simmer, then reduce heat to medium-low. Let it bubble gently for about 12-15 minutes until the chicken is cooked through and no longer pink inside.
Stir in coconut milk and coconut cream, mixing until smooth and combined. Season with salt and pepper, then taste it and adjust seasoning as needed. Mine always needs a little extra salt, so don't skip the tasting step.
Let the coconut curry chicken recipe simmer for another 5 minutes so flavors meld together beautifully. Garnish with fresh cilantro if you've got it on hand. Serve over rice or with naan bread and watch everyone go back for thirds.