Prep the chicken by removing excess fat, and cubing into approx. 1 inch pieces.
Place the chicken in a bowl and drizzle in 1 tbsp of olive oil. Add a heavy pinch of salt, garam masala, cumin, coriander, paprika, chili flakes, and about 1/2 tsp of freshly grated ginger, as well as 3 cloves of grated garlic. Mix throughly and let the chicken sit for 10 minutes.
After 10 minutes, place the pan on the stove over medium heat. Add 1 tbsp of olive oil to coat the bottom of the pan. Once hot, add the chicken and sear for about 3-4 minutes on each side. Remove from the pan and place in a clean bowl.
Add in 2 tbsp of butter followed by the sauce spices. Bloom the spices for 2 minutes then add in the onions, and a heavy pinch of salt. Sweat for 3-4 minutes before adding the garlic and cooking for an additional 2 minutes.
Pour in the crushed tomatoes and simmer on low with the lid on for 10 minutes. Once done, turn of the heat and blend the sauce either in a traditional blender or an immersion blender.
Return back to low-medium heat and add in the heavy cream. Once the sauce is well-mixed, add the chicken along with any juices that pooled in the bowl. Simmer for 15-20 minutes or until the chicken is cooked through. In the final moments, top with a generous amount of chopped cilantro. Serve with basmati rice and naan.