Wash and peel the onion, slice in slightly thin long slices.
Wash and chop the tomatoes in long slightly thick slices, keep this aside separately from the onions.
Add the oil in the inner pot of instant pot, press the saute function adjust to medium.
Add the cumin seeds, and when the cumin seeds is lightly fried, add the curry leaves and fry for a few seconds.
Add the sliced onions and saute for about 2 to 3 minutes. If needed, you can press the 'cancel' button and then again press the saute button and adjust to low.
Add the ginger garlic paste and green chilies, saute for another 1 minute.
Add the sliced tomatoes and salt, mix well and saute for another 2 to 3 minutes.
Add the spice powders, mix everything well.
Add the water, mix the contents and close the instant pot with lid in sealing position. Press the manual button and cook in high pressure for 4 minutes. It takes a few minutes for the instant pot to come to pressure and start cooking. Once the cooking is done, the pot will beep.
Once the cooking is done and the pot beeps, press the 'keep warm/cancel' button and wait for the pressure to release naturally. If needed, you can do a careful and gradual manual pressure release after 10 minutes of natural pressure releasing.
Once the pressure is all released, carefully open the pot and mix the contents well.
Add the coconut milk or heavy cream, stir again and if you wish, simmer (using the saute function) for few seconds only so the flavors will blend nicely. The delicious instant pot tomato curry is ready to be served!