Melt butter in a large skillet over medium-high heat. Add onions and saute until they are lightly golden, for about 3-4 minutes. Add ginger and garlic, then cook for an additional minute until fragrant.
Stir the tomato paste in to the onion mixture. Next, add the chicken to the hot pan. Sprinkle with garam masala, chili powder, cumin, salt, and pepper. Cook for 5-6 minutes, tossing periodically in order to brown all sides of the chicken.
Slowly add the heavy cream and stir to incorporate all of the ingredients. Simmer on low for 8-10 minutes, stirring occasionally, until chicken reaches an internal temperature of 165 degrees and sauce has thickened. Serve over cauliflower rice and garnish with cilantro.