1. Clean and cut the chicken pieces and marinate them with ginger-garlic paste, yoghurt, red chilli powder, salt, dry fenugreek leaves, and lemon juice, for at least 7 hours, or overnight.
2. Next, heat some oil in a pan and fry the marinated chicken pieces till it is soft and tender.
3. Now, in a pan add chopped onion, cumin seeds, and green chilli and sauté for about four to five minutes.
4. Once the onions are mushy add in cashew nuts, almonds, chopped tomato, coriander powder, red chilli powder, bay leaves, dry fenugreek leaves, and salt.
5. Let the onion and tomato mixture cool down then blend it into a smooth paste.
6. Now heat 1/4 cup butter in a pan add the paste and cook the curry till the butter starts to separate from the paste.
7. Next, add the fried chicken pieces to the curry and cook for 2 to 3 minutes.
8. Now, add 2 cups of warm water to the curry cover the lid and cook for another 5 to 7 minutes.
9. Now, lift the lid and check the consistency of the curry and if you are satisfied with the consistency, add in the fresh cream.
10. Lastly, transfer the butter chicken to a bowl and garnish it with fresh cream, coriander, and dry fenugreek leaves and serve hot with roti, naan, or rice.