For chermoula, blend all ingredients together in a food processor until it forms a smooth paste.
Place half the chermoula into a storage bag together with chicken pieces. Seal and rub marinade over chicken. Leave to marinate for at least 2 hours or preferably overnight in the refrigerator.
Preheat oven to 350°F/180°C.
Mix the remaining chermoula with tomatoes and onions.
Layer the bottom of an ovenproof pot with half the mixture.
Add in marinated chicken pieces, olives, preserved lemon and cilantro.
Cover with remaining tomatoes and onions and pour in water.
Cover with lid and transfer to oven.
Cook for one hour.
Remove from oven and serve with steamed cauliflower.