Heat oil in a deep frypan over medium heat. Add onion and cook until brown, stirring. Add garlic, ginger, chilli, turmeric, cumin seeds, salt and pepper, coriander and cinnaomon stick. Cook, stirring, for 1 minute. Add tomatoes, stock and bay leaf and bring to a boil.
Place the chicken in the slow cooker and pour in the sauce. Cover and cook on Low 5-6 hours or High 2-3 hours or until chicken is done. Stir in the spinach and yoghurt and cook 20 more minutes on High.