Heat the vegetable oil or ghee in a large pot over medium heat.
Add the chopped onions and cook until translucent.
Stir in the minced garlic and cook for another minute.
Add the lamb or goat pieces and cook until browned on all sides.
Stir in the chopped tomatoes, tomato paste, cumin, coriander, turmeric, cinnamon, black pepper, and salt. Cook for about 5 minutes until the tomatoes are softened and the spices are well incorporated.
Pour in the beef or chicken broth and add the bay leaves and ground cardamom if using. Bring to a boil.
Reduce the heat to low, cover the pot, and simmer for about 1.5 hours, or until the meat is tender and cooked through.
Rinse the basmati rice under cold water until the water runs clear.
Add the rice to the pot with the meat. Stir to combine.
Cover the pot and cook on low heat for about 20-25 minutes, or until the rice is tender and the liquid is absorbed.
Stir in the raisins, slivered almonds, and fried onions.
Garnish with fresh cilantro or parsley.
Enjoy your meal!