Place first seven ingredients in a large bowl, mix well.
Add yogurt to bowl and blend all ingredients together.
Add chicken and let marinate for at least 30 minutes, preferably longer.
After marinating is complete, bake chicken in oven at 400 for 30-40 minutes until thoroughly cooked. Broil on high for additional 5-10 minutes to achieve the tandoori oven effect (slight browing/blackening on top).
Once chicken is cooked, cut into bite sized pieces and set aside.
To start the sauce, chop tomatoes and mix in a bowl with canned tomatoes, tomato paste, lemon juice and salt. Set aside.
Chop onions and mince garlic, set aside.
In large pan or wok, heat oil. While oil is heating, add the cumin, turmeric and about half the garlic and ginger. Stir fry for 2-3 minutes to infuse the oil.
Add onions and remaining garlic and ginger paste. Sautee until onions are mostly clear. (about 20 minutes).
Add tomato mixture and remaining spices to pan and simmer for at least 15 minutes.
Using an immersion blender, blend sauce in pan. If you do not have one, let mixture cool (this is very important) and transfer to a blender to blend thoroughly.
Let simmer for 30 minutes longer.
Add chicken to sauce and let heat through. About 10 minutes prior to serving, add heavy cream and buttermilk.