1. To make the marinade, place the onion in a food processor and process in bursts until very finely chopped. Tip the onion onto a piece of muslin, pull the corners together and squeeze into a large bowl to extract the onion juice, or use a fine sieve. Whisk in the baharat, garlic, lemon zest and juice and olive oil. Season then add the chicken, rubbing the marinade in well. Cover and place in the fridge to marinate for 15–20 minutes or overnight.
2. For the garlic sauce, place the garlic in a small saucepan, cover with cold water, bring to the boil and cook over a high heat for 30 seconds. Remove the garlic and peel. Place into a mortar and pestle with a good pinch of salt and pound for 2–3 minutes or until very smooth. Gradually add the olive oil, then the lemon juice in a thin stream while pounding and mixing (if the mixture looks like it will split, add a tablespoon of hot water).
3. Preheat a chargrill pan over a high heat. Remove the chicken from the marinade and dry with some clean kitchen paper. Place the chicken into the pan and cook for 8–10 minutes, turning occasionally, until lightly charred and firm to the touch. Make sure the chicken is thoroughly cooked with no pink meat and the juices run clear.
4. Remove the chicken onto a chopping board, allow to rest for 2–3 minutes then carve into finger-sized pieces. To serve, place each flatbread onto a plate, spread with the garlic sauce, top with tomato, onion and chicken and roll up.