Set the Instant Pot to the sauté setting and add the butter. When the butter melts, add the chopped onion and cook 2–3 minutes until it begins to soften and turn golden.
Add the minced garlic and grated ginger and sauté for about 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, then add the chicken pieces and sauté 4–5 minutes, stirring so the chicken is coated with the sauce and spices.
Pour in 3/4 cup water or chicken broth and scrape any browned bits from the bottom. Secure the lid and set the Instant Pot to Manual/High pressure for 10 minutes.
When the cook time finishes, allow the pressure to release naturally or perform a quick release following the manufacturer's instructions, then open the lid.
Switch the pot to the simmer or sauté setting and stir in the heavy cream and chopped cilantro. Simmer 3–4 minutes until the sauce thickens slightly.
Taste and adjust salt if needed, then serve hot with basmati rice or naan.