Set the Instant Pot to ‘Sauté’ mode and add the ghee and oil.
Once the ghee melts and the oil is hot, add cumin seeds, cinnamon stick, bay leaf, cloves, green cardamom, and black cardamom (if using). Sauté for 1-2 minutes until the spices release their aroma.
Add the sliced onions and sauté until they turn golden brown.
Add the sliced serrano pepper and chopped tomatoes. Cook until the tomatoes become soft and the oil starts to separate from the mixture.
Add the marinated potato mixture to the Instant Pot. Mix well and cook for about 5 minutes, allowing the potatoes to absorb the flavors.
Drain the soaked rice and add it to the Instant Pot. Mix gently to combine with the potato mixture.
Add 3 cups of water and salt to taste. Mix well.
Close the lid of the Instant Pot and set the valve to the ‘Sealing’ position.
Set the Instant Pot to ‘Pressure Cook’ or ‘Manual’ mode on high pressure for 6 minutes.
Once the cooking time is up, allow the pressure to release naturally for about 10 minutes, then carefully release any remaining pressure by moving the valve to the ‘Venting’ position.
Open the lid, gently fluff the biryani with a fork, and let it sit for a few minutes to allow the flavors to meld together.