Heat a large skillet over medium-high heat.
Add the oil and butter to the skillet, then add the diced onion and cook, stirring, until the onion is lightly golden, about 3–4 minutes.
Add the minced or grated ginger and minced garlic and cook, stirring, for about 30 seconds until fragrant.
Add the chicken pieces, tomato paste (or tomato sauce), garam masala, chili powder (or paprika), fenugreek, cumin, salt, and black pepper. Stir to combine and cook until the chicken is cooked through, about 5–6 minutes.
Pour in the heavy cream, reduce heat to medium-low, and simmer, stirring occasionally, until the sauce is warmed and slightly thickened, about 8–10 minutes.
Serve the butter chicken over hot cooked rice or with naan.