Toast the coriander seeds, cumins seeds, fennel seeds & fenugreek seeds in a dry pan over a medium high heat for 2 minutes or until lightly golden & just starting to crackle.
Place all of the curry powder ingredients into a spice grinder or mortar & pestle and grind into a fine powder. Set aside.
Heat the vegetable oil in a large pan or pot, sear the chicken in batches for 3 minutes on each side or until golden brown all over. Remove & place into a bowl for the time being.
To the same pan or pot, add in the onion, garlic, ginger & turmeric. Saute for 6 minutes or until lightly golden & soft. Add in the curry powder & fry for 3 minutes, stirring regularly.
Add in the diced tomatoes, season to taste, mix well & bring to a boil. Reduce the heat to low & allow to simmer for 3 minutes.
Place the chicken back into the sauce along with any juices that may be in the resting bowl. Cover the chicken in the sauce and simmer for 30 minutes, stirring frequently.
In the meantime, place the washed rice into a saucepan over high heat, add in the water & bring to a boil. Once boiling, place on a lid, reduce the heat to low & steam for 14 minutes. Turn off the heat, leave the lid on and let it sit for 4 minutes before fluffing it up with a fork.
After 30 minutes, stir the coconut milk through the curry sauce, taste for seasoning & simmer for a final 2 minutes.
Serve over the fluffy rice & garnish with cashew nuts (optional), coriander (cilantro), chilli & naan bread.