Brown the Chicken: Heat the olive oil over medium heat until hot. Working in two batches, add the chicken pieces and brown both sides for about 4–5 minutes per side. Transfer the browned chicken to a plate and set aside.
Soften the Onion: Add the sliced onion to the same pan. If the onion or browned bits begin sticking, add up to ¼ cup water. Cook for about 4–5 minutes, stirring, until the onion softens.
Build the Spice Base: Add the chopped garlic and cook for 1 minute. Stir in the baharat, coriander, turmeric, salt, black pepper, and chopped tomato. Mix everything together and gently fry for about 1 minute.
Simmer the Chicken: Return the browned chicken to the pan and add about ½ cup water. Turn the chicken through the sauce so it becomes coated, then cover the pan. Reduce the heat to medium-low and cook for 15 minutes, keeping the mixture at a gentle bubble rather than a vigorous boil. Stir occasionally.
Add the Rice: Drain the soaked basmati rice thoroughly, then add it to the pan. Briefly stir the chicken through the rice, then immediately pour in the chicken stock. Gently shake the pan so the ingredients become submerged, taking care not to stir the rice further.
Cook the Pilaf: Bring the mixture to a simmer, then reduce the heat to low so the rice is barely bubbling. Cover the pan and cook for 25–30 minutes, or until the liquid has been absorbed.
Check for Dryness: If liquid remains after 25–30 minutes, use a wooden spoon to make a few holes down toward the bottom of the pan. Continue cooking for a few more minutes until the remaining liquid has evaporated.
Finish the Rice: Remove the pan from the heat once the liquid has disappeared.
Toast the Pistachios: While the rice cooks, melt the butter in a small frying pan over medium heat. Add the pistachios and fry for 1–2 minutes, until they are just beginning to brown. Transfer them to paper towels to drain and cool, then leave them whole or chop them.
Rest for Fluffy Rice: Remove the lid from the cooked pilaf and place a clean tea towel over the pan. Replace the lid over the towel, wrapping the towel around the lid. Leave the covered pan to rest for 30 minutes; this resting period helps give the rice its fluffy texture.
Serve: Remove the tea towel and serve the rested chicken pilaf directly from the pan.