Prepare the ingredients to have them ready to use.
Heat oil in a wide pan over medium heat.
Add onion and cook 8–10 minutes, until soft and lightly golden.
Add garlic and ginger; cook 30 seconds.
Stir in curry powder, cumin, coriander, turmeric, paprika, and chili. Cook 1 minute until fragrant.
Add bay leaf and tomato paste and cook 1–2 minutes to remove raw acidity.
Add chicken pieces, season with salt and pepper, and stir to coat in spices.
Cook 3–4 minutes until lightly sealed.
Pour in coconut milk and stock.
Bring to a gentle simmer.
Cover partially, and cook 15–20 minutes until chicken is tender and sauce thickens.
Taste, adjust salt and heat, then add lime juice.
Sprinkle with fresh cilantro.