In a bowl, mix together the ingredients listed under "spice mix" and set aside.
Heat the oil in a pot over medium heat. Add the sliced onion and cook until it's golden brown. It goes from golden brown to dark brown very quickly, so keep an eye.
Use a slotted spoon to remove the onions from the pot and transfer them to a blender jar. Leave the remaining oil behind in the pot. Also add tomato pieces and green chilies to the jar, then blend until completely smooth.
Transfer this puree to the same pot, along with the optional tomato paste and cook covered on medium-low heat until the oil starts to separate. Stir occasionally.
Add garlic and ginger pastes, cook for 2 minutes. Then add the spice mix you made earlier, along with 4 tablespoons water, and cook for another 2 minutes.
Increase the heat to medium-high (or medium if your burner is too strong). Add chicken, stir and cook until it's no longer pink. Then add 1 cup water, or more, if you prefer a thinner consistency.
Cover with lid, bring the curry to a simmer, then reduce the heat just enough to maintain a very gentle simmer. Cook until the chicken is cooked through and the oil starts to separate. Stir occasionally.
Add chopped cilantro/coriander and lemon juice, mix well, and cook covered for 5 minutes on low heat. Taste the curry and adjust salt, if needed. Serve hot with naan, roti, or steamed basmati rice.
Notes
Note A: Tomato Paste – If my tomatoes aren’t fully red and ripe, I add a little tomato paste (not sauce). It helps pep up the flavor and gives the gravy a deeper red color, too. But it's optional.Note B: Chicken – You can use boneless chicken, but bone-in tends to have more flavor. I buy skinless, bone-in chicken from my desi butcher and ask for karahi cut. That usually comes out to around 16 to 20 pieces per chicken, depending on the weight. Use chicken by weight. Guesstimating the number of pieces may give unpredictable results.