Marinate the Chicken: Combine chicken with curry powder, allspice, salt, pepper, garlic, onion, Scotch bonnet, thyme, and ginger. Cover and marinate for at least 2 hours, or overnight.
Brown the Chicken: Heat 2 tbsp oil in a large pot over medium heat. Brown chicken pieces on all sides until lightly golden.
Sauté Aromatics: Remove chicken, then sauté remaining onions and spices in the same pot for 1–2 minutes.
Add Vegetables and Liquid: Return chicken to the pot. Add potatoes, carrots, coconut milk, water or broth, and bay leaf. Stir to combine.
Simmer Gently: Cover and simmer over low heat for 35–45 minutes, stirring occasionally, until chicken is tender and sauce thickens.
Final Touch: Adjust seasoning, remove bay leaf, garnish with parsley or scallions, and serve hot with rice, roti, or flatbread.