While meat is cooking, you can wash and soak the rice. Peel and slice the onion.
In a big pot, add oil and sliced onions. Cook over medium heat until onions are deep golden. At that point, add whole spices, remaining salt, ginger, garlic, and tomatoes. If it starts to splatter, quickly add a little bit of water and cover the pot for a minute.
Cook over medium heat until tomatoes are softened, about 5-7 minutes. Add cooked lamb to the pot and cook over high heat for about 5 minutes. Also, add green chilies.
Cook until oil separates, then add yogurt. Cook for about 5 more minutes.
Add reserved broth and water to make a total of 7.5 cups. I use 1.5 cups of water for every 1 cup of soaked rice. (If you are using aged rice, then use 2 cups of water for 1 cup of rice.)
Cover and let it cook over high heat. Once water comes to a boil, add soaked and drained rice.
Mix it and taste test for salt. Cover and cook over high heat until most of the water evaporates. (Stir it gently in between cooking.)
Then lower the heat and cover the rice with a paper towel or foil.
Steam for 15-20 minutes. Fluff up the rice and enjoy