Cut the chicken breasts up into small ½ inch pieces. Then, in a large bowl, combine the marinade ingredients (Greek yogurt, lemon juice, grated ginger, garlic, garam masala, smoked paprika, turmeric, and salt). Mix the marinade ingredients together until well combined.
Add the cut chicken pieces to the marinade and mix, making sure all of the chicken is coated evenly. Marinate in the refrigerator for at least 1 hour or overnight. Remove the marinated chicken from the refrigerator 10 minutes before you are ready to cook.
Heat a large cast-iron skillet over medium-high heat and add the cooking oil. Add the chicken and cook until lightly browned on all sides and cooked through. It may be difficult to see the brown color due to the marinade, but it should only take approximately 8-10 minutes to cook the chicken on all sides.
Once the chicken is fully cooked, remove it from the skillet to a separate plate. Cover with foil and set aside.
Reduce the heat to medium, then in the same skillet, add the butter. Once the butter is melted, add the diced onion. Sauté the onion for about 4 minutes.
Now add in the minced garlic, grated ginger, and the rest of the spices (garam masala, ground cumin, smoked paprika, salt, and turmeric powder). Stir together and cook for 1 minute.
Next, add in the tomato sauce and water. Stir and reduce the heat to medium-low. Simmer the sauce for 7-8 minutes, stirring occasionally.
Once the tomato sauce has simmered, add the room temperature heavy cream to the sauce and stir to combine.
Add the cooked chicken back to the skillet and stir to combine with the sauce. Simmer the sauce and chicken for 2-3 minutes. Finally, garnish with chopped cilantro, serve hot with cooked rice or naan bread (all optional), and enjoy!
*You can also use boneless, skinless chicken thighs.**Tomato sauce in the US is just cooked and pureed tomatoes with minimal added seasonings. The closest alternative would be passata in other countries. You can also swap the tomato sauce for canned diced tomatoes.If you're using diced tomatoes instead of tomato sauce, you will need to blend the tomatoes and spices in a blender or food processor to get a smooth consistency for your sauce. The blender step is not needed if you are simply using tomato sauce.