Heat the oil over a medium heat until just hot. Add the chicken pieces in two batches and brown both sides for about 4-5 minutes per side. Remove all the chicken and set aside.
Add the onion to the pan and if things are sticking, a little water (¼ cup) - stir for about 4-5 minutes to soften the onion. Add the garlic and fry for 1 minute before adding the baharat, coriander, turmeric, salt, black pepper and tomato. Stir to combine and let it gently fry for 1 minute or so.Return the chicken to the pan with about ½ cup water. Stir to coat the chicken in the sauce then pop on a lid. Turn the heat to medium/low so that it's bubbling, but not furiously.Cook the chicken for 15 minutes, stirring occasionally.
Drain the rice and then pour into the pan with the chicken. Stir the chicken into the rice very briefly before pouring in the stock. Shake the pan to submerge everything. Try not to stir the rice. Let this come to a simmer.
Turn the heat down to low so that the rice is barely bubbling. Pop on the lid and leave the pan for 25-30 minutes. After that time, all the liquid should be gone.If it's not, make a few holes to the bottom of the pan with a wooden spoon and let the rice cook for a few more minutes until dry.Remove from the heat.
While the rice is cooking, heat the butter in a small frying pan over a medium heat. Fry the nuts for 1-2 minutes until just turning brown. Drain on paper towels and leave to cool. You can chop them or leave whole.
Remove the lid from the rice, then place a clean tea towel over the pan. Return the lid and wrap up the tea towel. Leave the pan for 30 minutes - this will help create the perfect fluffy texture.
After 30 minutes, fluff up the rice a little with a fork or spoon, sprinkle over the nuts and then serve. Serve in portions or from the pan in the centre of the table.