01 - Combine chicken pieces with all marinade ingredients in a large bowl. Mix thoroughly to coat every piece. Cover and refrigerate for at least 1 hour, or overnight for maximum flavor penetration.
02 - Set Instant Pot to Sauté mode. Add 2 tbsp butter and allow to melt. Add diced onions, minced garlic, and ginger paste. Sauté until onions become translucent and soft, approximately 3-4 minutes.
03 - Pour in tomato puree and add ground cumin, smoked paprika, ground coriander, and cayenne pepper. Stir constantly and cook for 2 minutes to allow spices to bloom and meld with the tomato base.
04 - Add the marinated chicken along with all remaining marinade liquid into the pot. Stir thoroughly to distribute the chicken evenly throughout the sauce.
05 - Secure and lock the lid. Set Instant Pot to Manual or Pressure Cook on High for 8 minutes. Ensure steam release valve is sealed.
06 - When cooking completes, allow natural pressure release for 10 minutes. Afterward, carefully quick-release any remaining pressure by moving the steam release valve to Venting.
07 - Switch back to Sauté mode. Pour in heavy cream and add remaining 2 tbsp butter. Simmer for 2-3 minutes while stirring continuously until sauce achieves a rich, velvety consistency. Season with salt to taste.
08 - Ladle hot butter chicken into serving bowls. Generously sprinkle with chopped fresh cilantro. Serve alongside steamed basmati rice or warm naan bread for dipping.