Start by turning your Instant Pot to the 'Sauté' mode. Add the butter and let it melt. Once melted, add the finely chopped onion, and sauté until it becomes translucent—about 3-4 minutes. Then, add the minced garlic and ginger, stirring for an additional 1-2 minutes until fragrant.
Stir in the garam masala, smoked paprika, curry powder, ground cumin, and salt. Cook for about 30 seconds, allowing the spices to toast slightly and release their aromas.
Add the bite-sized chicken pieces to the pot, ensuring they are well coated with the spice mixture. Sauté for about 5 minutes, stirring frequently.
Pour in the tomato sauce and add the tomato paste. Stir well to combine everything. Then, add the water or chicken broth, making sure to scrape any bits off the bottom of the pot to prevent burning.
Close the lid of the Instant Pot, ensuring the valve is set to 'Sealing.' Select the 'Manual' or 'Pressure Cook' setting and set the timer for 10 minutes. Once the cooking time is complete, allow for a natural release for 5 minutes, then carefully switch the valve to 'Venting' to release any remaining pressure.
Open the lid and stir in the heavy cream (or your chosen substitute). Let the sauce simmer for a few minutes on 'Sauté' mode to thicken slightly. Taste and adjust seasoning if necessary.
Garnish your 30 Minute Instant Pot Butter Chicken with fresh cilantro leaves. Serve over fluffy basmati rice, with warm naan, or alongside a fresh salad for a complete meal. Enjoy the rich flavors and creamy texture!