In a large bowl or a gallon sized bag add in the yogurt and seasonings for the marinade. Mix together and then add chicken. Cover chicken in marinade completely. Chicken should sit in marinade for at least 15 minutes up to overnight.
In a large saucepan over medium-high heat, heat oil. Cook marinated chicken in small batches. You just want to sear the chicken for 2 minutes on each side, it’s okay if the chicken isn’t cooked all the way through, it will finish cooking in the sauce later. Repeat until all chicken is seared. Set chicken aside for now.
Add butter, minced garlic, onion, and ground ginger to saucepan. Fry for 1 minute until fragrant. Stir so that the garlic doesn’t burn.
Add in tomato sauce, spices, and sugar. Let simmer for 10 minutes until thick, stirring occasionally.
Add in cream and chicken. Bring to a simmer and cook for another 10 minutes. Sauce should be thick and chicken should be cooked all the way through.
If sauce is too thick you can add a little bit of water or more cream to thin it out. Garnish with cilantro and serve with rice (or cauliflower rice for a low carb alternative)
