Mix yoghurt, garlic and seasonings in a bowl. Coat chicken in the yoghurt and leave at room temperature to marinate for 30 minutes.
Meanwhile, fry onion in the oil. Add chicken, marinade and tomatoes. Bring to the boil, reduce heat and leave to simmer. Turn chicken a few times until it is tender - about 25 to 30 minutes.