Heat olive oil and butter in a pan over medium heat. Add chicken pieces and cook until lightly browned.
Add garlic, ginger, paprika, cumin, turmeric, salt, and pepper. Stir well and cook for 1–2 minutes until fragrant.
Remove chicken from the pan and set aside.
Add butter to the same pan. Add spinach and cook until wilted.
Blend spinach with heavy cream, chicken broth, and tomato puree until smooth.
Pour the spinach sauce back into the pan and simmer for 5 minutes.
Add chicken back into the sauce and cook for 10–15 minutes until fully tender.
Stir in garam masala and Parmesan cheese. Simmer for another 2 minutes.
Serve hot with cauliflower rice, keto naan, or steamed vegetables.