Heat oil in a heavy pan. Add cardammom and onions. Fry on medium heat until onion is soft and brown. This will take a while and be careful not to burn the onion otherwise your sauce will be bitter
Once the onion is a golden brown add all other ingredients except cinnamon. Turn up heat to medium. Stir for 5-10 minutes until the chicken and spices are well mixed and the oil starts to simmer up. The chicken should look shiny. Lower heat, cover pot for 4 minutes.
Add water and cook for 20 minutes until the potatoes are soft. Stir ocassionally. If the water starts to dry up, you can add a quarter cup of water. I try not to add too much water because usually the chicken releases a lot of liquid which makes the sauce intensely flavorful.
When the potatoes break easily, sprinkle the cinnamon over the curry. Turn over the curry once to mix in the cinnamon. Enjoy with hot steamed rice!