Heat oil in pan, add onions and fry until golden. Add garlic, ginger, chiles, cardamon, cloves, peppercorns, cinnamon stick and salt. Continue to fry for 3 minutes. Add tomatoes and turmeric and mix well for 2 minutes. Add chicken and cilantro and fry for 3 minutes. Add coconut milk and bring to a boil. Reduce heat to low, cover and simmer for 40 minutes. Add lemon juice, remove whole spices and serve over rice.