Wash the rice under cold water until the water runs clear. Boil the rice in salted water after it comes to a boil for about 6-8 minutes or until it is half-cooked. Drain the rice and set it aside.
Add the oil to a large pan over medium heat. Add the chopped onions and sauté until golden brown. Add the ground beef or lamb to the pan and cook until browned. Break the meat into small pieces as it cooks.
Add the turmeric, cinnamon sticks, bay leaves, salt, and pepper. Stir well to coat the meat with the spices.
Add the chopped green beans and cook for about 5 minutes, until they start to soften. Mix in the tomato paste with 1/2 cup water and pour it into the pan. Let the mixture simmer for 10 minutes until it thickens.
In a large non-stick pot, add a layer of parboiled rice to the bottom. Then add a layer of the meat and green bean mixture. Continue layering until all the rice and meat are used up, finishing with a layer of rice on top. Drizzle the saffron water over the top layer of rice for added flavour and colour.
Cover the pot with a clean kitchen towel (to absorb moisture) and then place the lid on top. Cook over low heat for 30-40 minutes, allowing the rice to steam and absorb all the flavours.