Season the chicken pieces with salt and black pepper.
Heat the olive oil in a Dutch oven over medium-high heat. Add the chicken and sear for 3–4 minutes until lightly browned (do not cook through). Remove and set aside.
Lower the heat to medium. Add the chopped onion and sauté for 5–6 minutes until softened and golden.
Stir in the garlic and ginger and cook just until fragrant.
Add curry powder, cumin, paprika, and cayenne. Stir well to coat the onions in the spices and toast for up to a minute.
Stir in the tomato paste and cook for 30 seconds.
Pour in the coconut milk and chicken broth, stirring to combine.
Return the chicken to the Dutch oven and bring the curry to a simmer.
Cover and let simmer gently for 15–20 minutes, or until the chicken is fully cooked and the sauce has thickened slightly.
Stir in lime juice, taste, and adjust seasoning as needed.
Garnish with chopped cilantro and serve hot with rice.