Cut the chicken into bite-sized pieces. I prefer roughly 1 1/2 by 1 1/2 cubes. In a bowl that will hold the chicken, add all the marinade ingredients except the chicken. Combine the spices and lemon juice, then add the chicken. Stir to coat the meat well and set aside to marinade.
Gather all your sauce ingredients.
Heat the coconut oil in a wok or dutch oven over medium-high heat. Add the onion and cook for 8 to 12 minutes until the edges turn golden brown.
Reduce the heat to medium and add the curry leaves (if using), and the ginger garlic paste. Sauté for 2 minutes or until the ginger and garlic no longer smells raw.
Add the garam masala OR the 3-spice combination listed in Notes, turmeric, red chili powder and remaining 1/2 teaspoon of salt. Sauté for 1 minute, adding a tablespoon of water if the masala is sticking to the bottom of the pan.
Stir in the tomatoes and cook for 5 to 6 minutes until the sauce darkens and thickens. Add the chicken (and the lime zest if using instead of curry leaves) and cook for 3 minutes.
Add the coconut milk and bring to a simmer. Cover the pan and turn the heat down to low, or whatever temperature keeps the stew cooking at a very low simmer. Allow to cook for about 5 minutes or until the chicken is cooked through.
Serve with rice and your favorite flatbread. This curry freezes very well.
If you prefer using chicken breasts for Kerala chicken curry, there are several things you can do to keep them from overcooking: leave the breasts whole and reduce the High-Pressure cook time to 8 minutes. Cut the chicken up before serving.
Instead of the Kerala garam masala, you can use regular garam masala, buy or make. Or make this quick Kerala garam masala substitute: 1/2 teaspoon ground green cardamom, 1/4 teaspoon ground black pepper, and 1 teaspoon ground fennel seeds.