Soak cashews in 1/2 cup warm water for 10-15 mins. Grind them to a smooth paste. Keep it aside.
Heat oil in a deep and wide pan. Add sliced onion and cook till it browns. Add crushed ginger & garlic and green chilli. Cook for 2-3 mins. Add cubed tomatoes and cook till it softens. Add chopped coriander leaves (2 tbsp), curry leaves, turmeric powder and half of crushed pepper and salt. Mix well and cook for 2 mins.
Add cleaned chicken pieces. Mix well and make sure the pieces are coated with the masala. Add 1 1/2 - 1 3/4 cups water. Bring to boil, reduce flame to lowest and cook till chicken is done 20-25 mins. Remove the pan from fire and gradually add the cashew paste. Gently mix, until it's incorporated. Return to fire and cook on low flame for 4-5 mins. Add 1 tbsp ghee and remaining half of crushed pepper. Mix well. Garnish with chopped coriander leaves.
Let the curry rest for half an hour before serving.
If you wish, garnish with fried onion and crushed pepper.