Add the vegetable oil to a large skillet or pot and heat on medium high heat. Once oil has heated up, add the onion slices, and cook, stirring occasionally, until golden brown and caramelized. This might take around 7-8 minutes. Once onions have browned, remove from the skillet onto paper towels to absorb some of the oil.
If you need to, add a little more oil to the skillet, then fry the bay leave, cardamom pods, and cloves for 10 seconds or so. Add the ginger garlic paste, and fry for 30 seconds or so.
Add the diced tomatoes, the chopped coriander and mint, along with the cumin, cinnamon powder, biryani masala, red chili powder, and salt and pepper to taste. Simmer for a few minutes, and add the caramelized onions back in.
Add the marinated prawns to the skillet, and cook for 3 minutes or so, until prawns have curled up into a c and are cooked through. Dont' overcook so they don't turn rubbery, they won't take much time at all. Set this prawn gravy aside.
Lightly grease the bottom of a large pot with oil, then layer half the cooked rice. Add the full amount of the prawn gravy, followed by the second half of the rice. If you'd like a little of the rice to be colorful, you can stir a scoop of rice into the pot that the prawns were cooked in to add some of that sauce color to it, then sprinkle it on top of the second layer of rice.
Cover the rice pot with a very tight fitting lid, or a tight layer of aluminum foil, then steam on low heat for 15-20 minutes. Set aside for another 15 minutes, then uncover and serve hot.