In a large pot add the meat, coriander seeds, black pepper corns, garlic, bay leaf, cinnamon, cardamoms, star anise, salt and 1 onion (cut into quarters). Fill pot with enough water or stock to cover the meat and spices.
Bring to a boil and cover. Simmer until meat is tender (depending on the meat you are using it can take anywhere from 25 minutes for chicken and up to an hour for beef or goat meat.
Once meat is tender, strain the stock into another pot or bowl. Put the stock aside and place the meat pieces and throw away the whole spices.
In the same pot, heat the oil on medium heat. Add the sliced onions and cumin seeds. Sauté till the onion is brown but do not let it burn. Note that the browner you get the onions the darker the color of the rice will be. Add the meat and the drained basmati rice and the stock. Bring to a boil and then cover and simmer on low heat until the water dries up and the rice is soft (this should take about 10 – 15 minutes).
Turn off the heat and allow the rice to rest covered for another 10 – 15 minutes before serving.