Melt a few tablespoons of butter/ghee in a frying pan over medium heat.
Stir in onions and garlic and cook slowly until the onion caramelizes to a dark brown. It should take about 15 minutes.
At the same time, melt the rest of the butter/ghee in a pot over medium high heat.
When the butter/ghee has melted, add the tomato, heavy cream, salt, cayenne pepper, and garam masala.
Bring the sauce to a simmer, then reduce heat to low-medium. Cover and simmer for 30 minutes, stirring occasionally.
When the onions have caramelized, stir them into the sauce.
While the sauce is simmering, toss the cubed chicken breast pieces with vegetable oil until coated. Then season them with tandoori masala.
Spread the chicken out onto a baking sheet and bake at 180°c (350°f) for 10 minutes.
Add the chicken to the sauce and simmer for 15 minutes before serving.