Set the Instant Pot to the sauté setting and add the butter. Once melted, add the finely chopped onion and sauté 2–3 minutes until it begins to turn golden.
Add the minced garlic and grated ginger and cook 1 minute until fragrant.
Stir in garam masala, smoked paprika, curry powder, ground cumin, and salt until the spices are evenly coated with the butter-onion mixture.
Add the tomato sauce and tomato paste, stir to combine, then add the chicken pieces and sauté 4–5 minutes to lightly brown and coat with sauce.
Pour in the water (or chicken broth) and scrape any browned bits from the bottom. Close the lid and set the valve to sealing.
Cook on high pressure (manual) for 10 minutes, then allow a natural release or perform a quick release following the manufacturer's instructions.
Switch the Instant Pot to simmer. Stir in the heavy cream and chopped cilantro, then simmer uncovered 3–4 minutes until the sauce thickens slightly and the flavors meld.
Serve warm with basmati rice or naan.