Step #1 To make the marinade: Put the onion, ginger, salt, cayenne pepper, garlic, black pepper & 3 TBSP water into a mixer.
Step #2 Blend to a smooth paste, pushing down with rubber spatula when needed.
Step #3 To marinate the chicken: Put the sliced chicken in a bowl.
Step #4 Add the marinade & mix well.
Step #5 Cover up & put in the fridge for 30 mins or up to 3 hrs.
Step #6 To make the dish: Pour the oil into a wide, nonstick pan set over medium-high heat.
Step #7 When the oil is hot, add the cinnamon & cardamom.
Step #8 Stir for 10 seconds.
Step #9 Put in the onion & fry, stirring at the same time, for 6 to 7 mins, or until the onion turns a reddish-brown color.
Step #10 Add the cumin & coriander.
Step #11 Stir once.
Step #12 Add the yogurt, 1 TBSP at a time, & stir until it is absorbed.
Step #13 Add the tomato & stir for 1 min.
Step #14 Reduce the heat to medium, & cook, add the chicken, for 3 to 4 mins, together with its marinade, stirring, or until the chicken pieces turn white.
Step #15 Add 3/4 c water, the salt, & garam masala.
Step #16 Stir & bring to a simmer.
Step #17 Reduce heat to low & cook, uncovered for 2 to 3 mins, stirring now & then.