Microwave cashews and almonds in a small bowl while submerged in water for 30-45 seconds, then leave them to soak for 30 minutes.
Peel the skin from the almonds then set aside. (still soak the nuts even if you’re using pre peeled almonds)
Finely dice 1 whole yellow onion and cut the tomatoes into around eight chunks per tomato.
Blend the tomatoes, nuts, and a small amount of water into a fine paste for around 1 to 1 and a half minutes on high. (Should be a smoothie bowl consistency)
Put the oil into a pot on medium heat, wait until warmed and add the cinnamon and cloves; Cook until dark brown and fragrant.
Add the onions and cook until translucent, next add the ginger-garlic paste. Cook until the paste is fragrant.
Add the chili powder, turmeric, coriander powder, salt and cook for an additional minute.
Add the chicken and stir to coat; cook the chicken for about 5 to 6 minutes, stirring occasionally.
Pour in the tomato/nut mixture and stir. Add 1 cup water and garam masala. Cook.
At this point you can season to taste, add salt if you feel like it needs it and if you feel like it isn't spicy enough then add some more chili powder.
Cook until some oil floats to the top. Add chopped cilantro and serve!