1.Gather the ingredients.
2.Mix the garam masala, curry leaves, palm sugar, coriander powder, cumin, cinnamon, cloves, turmeric, nigella seeds, green chilies, and cardamom. Set aside.
3.Heat the oil in a large pan. Once it's hot but not smoking, add the lightly crushed mustard seeds. Cook for 30 seconds only and be aware of the hot oil splatter, as the seeds might pop a little.
4.Add the chopped onion, lower the heat, and cook for approximately 3 to 5 minutes until soft but not colored.
5.Add the garlic and ginger. Cook on medium heat, ensuring the spices don't burn.
6.Add the chicken pieces and stir well to make sure all the chicken is coated in the spices. Cook for 10 minutes, stirring occasionally to avoid the spices from burning.
7.Add the stock, tomato purée, a small pinch of salt, and the bay leaf. Stir well, lower the heat, and cook gently for 25 minutes until the chicken is cooked through and tender.
8.Add the cilantro and slices of tomato, stir and cook for another 3 minutes. Serve piping hot in balti dishes with naan bread on the side.