Season chicken with salt, pepper, and turmeric. Place on top of slices of onions and garlic. Add ½ cup of water. Cover and cook for 30 minutes or until the chicken is cooked all the way through.
Remove chicken and shred using two forks. Strain the broth while it's still hot and reserve 5 tablespoons of it.
Pulverize saffron threads with a dash of salt or sugar. Pour in the reserved chicken broth and mix well.
In a bowl combine yogurt, egg yolks, and the liquid saffron. Add shredded chicken, mix well, then cover and refrigerate overnight.
Boil 9 cups of water. Once it comes to a boil add 1 tablespoon of salt and ½ teaspoon of turmeric. Add rice and cook for 10 minutes. Strain and rinse with cold water.
The following day remove the chicken and yogurt mixture from the fridge and separate the chicken leaving behind as much of the yogurt mixture as possible. Add a bit of salt then mix with the drained rice.
Evenly spread 3 tablespoons of canola oil all over a baking mold including the walls. Place half of the rice at the bottom of the dish.
Add a layer of chicken making sure to keep about half an inch space between the chicken and the wall of the dish.
Cover with the remainder of the rice. Melt 2 tablespoons of butter, then evenly pour over the rice. Cover and bake in a 350° oven for 2½ hours.