Set the Instant Pot to the Sauté function. Add the olive oil and swirl to coat the bottom.
Add the chicken pieces in a single layer (you may need to work in batches). Sear until lightly browned on all sides, about 5 minutes. Remove and set aside.
In the same pot, add the chopped onion. Sauté until translucent and starting to brown, about 3–4 minutes.
Add the garlic and ginger, cook for about 30 seconds until fragrant. Stir in garam masala, cumin, turmeric, paprika, salt, and red pepper flakes if using.
Return the chicken to the pot. Pour in tomato puree, water or broth, and cream (or coconut milk). Stir to combine.
Lock the lid in place, set to High Pressure, and cook for 6 minutes. Do a quick release when finished.
Open the lid and stir. If the sauce seems thin, simmer on Sauté for a few minutes to thicken slightly. Adjust seasoning with salt, a squeeze of lemon juice, or a touch of sugar/honey if desired.
Serve hot over steamed rice or with warm naan. Garnish with chopped cilantro.