Panaskan minyak sayur dalam wajan besar atau panci dengan alas tebal di atas api sedang hingga minyak panas dan tampak berkilau.
Masukkan bawang bombay cincang halus, kapulaga hijau (opsional), batang kayu manis (opsional), dan daun salam (opsional). Tumis sambil sesekali diaduk selama 8–10 menit hingga bawang berwarna keemasan dan lunak.
Tambahkan jahe parut dan bawang putih yang sudah dimemarkan, masak selama 1 menit sambil terus diaduk hingga harum.
Masukkan jintan bubuk, ketumbar bubuk, kunyit bubuk, dan bubuk cabai. Aduk rata dan masak 30–60 detik hingga rempah matang dan harum.
Tambahkan potongan ayam, aduk hingga ayam terbalut bumbu dan bawang. Masak 5–7 menit sambil sesekali diaduk hingga ayam mulai kecokelatan.
Tuang tomat cincang dan tambahkan garam secukupnya. Aduk, didihkan perlahan, lalu kecilkan api. Tutup wajan dan masak selama 20 menit.
Buka tutup wajan, naikkan api ke sedang-tinggi. Masak sambil sering diaduk selama 10–15 menit hingga kuah mengental dan minyak terpisah. Tambahkan sedikit air panas jika terlalu kering.
Taburkan garam masala, masak 1 menit, lalu angkat wajan dari api. Cicipi dan sesuaikan rasa garam, lalu taburi daun ketumbar segar.
Sajikan panas dengan nasi basmati atau nasi putih hangat, serta roti naan atau chapati.