In a pestle & mortar or using a spice grinder, grind together the peppercorns and mustard seeds until coarsely ground. Set aside.
Heat the coconut oil in a large pan over a medium heat until hot. Add the cumin seeds, cinnamon, cardamom, curry leaves and dried chillies. Let them splutter and sizzle for 30 seconds before adding the onion, garlic and ginger. Stir well for 2-3 minutes.
Splash in about 1/4 cup water and sizzle for a further 2-3 minutes until the water has evaporated and the onions are frying again. Repeat this process of adding water and reducing for about 10 minutes.
Add the ground turmeric, cumin, coriander, chilli powder, garam masala and the ground pepper/mustard and stir well. Add 1/2 cup water and stir again. Like before, let this mixture reduce until almost dry then add 1/4 cup water. Stir constantly to avoid sticking.
Add the tomato, salt and sugar and another 1/4 cup water and reduce again. Repeat this process of water and reduction, like before, for about 20 minutes until the paste is thick and smooth and the oil begins to separate.
Now, Add the chicken and turn up the heat. Stir fry for 10 minutes before pouring in the coconut milk and about 1 cup water. Bring to a boil, then reduce the heat to low and simmer gently, uncovered for 30 minutes until the chicken is cooked through and the sauce thick and creamy.
Squeeze over some lemon juice (about 1/2 lemon or more) to add a last minute citrus hit.
Notes
StorageIf you have any remaining curry, it can be stored in either the refrigerator or freezer for later consumption.
For refrigeration, place the curry in an airtight container and store for up to one week. The flavor of the curry will become more intense over time.
For freezing, store the curry in airtight containers for three or more months. If reheating in a microwave, it is advisable to add a small amount of water to prevent the sauce from drying out. When reheating from frozen, stir the curry occasionally until it is heated through.