I have prepared the dish on a chulah or earthen stove, but you can cook it on a gas stove on a medium to high flame. Fire it up and set the wok for cooking.
Pour oil into the wok. (Pro tip: Heat mustard oil till it just smokes, then lower the flame. Raw smell of mustard oil ruins the curry's taste.)
Add bay leaves, cinnamon sticks, and cardamoms to the smoking oil.
When the whole spices release flavor, add finely sliced onions and stir until they turn light brown.
Add chopped tomatoes and some salt. (You can use tomato paste instead of chopped tomatoes, but in that case, add it after adding the masalas.)
Let the tomatoes cook and release their water. (Pro Tip: Don't rush this. Tomatoes are done only when oil separates and floats at the edges.)
Once the tomatoes become tender, add red chili paste, onion paste and ginger-garlic paste. Give the mixture a good stir and add a tablespoon of water.
Add 1 and ½ tablespoons of turmeric and red chili powder. Mix well and add another tablespoon of water.
After the spices start releasing water, add chicken pieces and gently mix them.
Add salt to taste and mix well with the chicken-tomato-spices mixture.
Cover the pan with a lid and let it cook for 5 minutes.
After 5 minutes, open the lid and stir for ½ minute, add garam masala. Cover the pan with the lid again.
After a couple of minutes, open the lid and pour 2 medium-sized bowls of lukewarm water. Cover the pan again. (Pro Tip: Always use lukewarm water here. Cold water toughens the chicken instantly.)
Let it cook for 8 to10 minutes on a medium flame, or until the gravy thickens and coats the back of a spoon.
Tomato Chicken Curry is ready and transfer it to a bowl. Serve it with steamed rice, soft plain naan or any variations, roti, chapati, paratha, or vegetable pulao.