Trwa II wojna światowa. Pod nieobecność walczącego na froncie męża Isabel Green (Maggie Gyllenhaal) sama wychowuje troje dzieci: Normana (Asa Butterfield), Megsie (Lil Woods) i Vincenta (Oscar Steer). Prowadzi też farmę, którą chce sprzedać jej stryj. Przybycie dzieci kuzynów z Londynu, Celii (Rosie Taylor-Ritson) i Cyrila (Eros Vlahos), wywołuje konflikt, gdyż krewni się nie znoszą. W zapanowaniu nad niesforną gromadką pomaga Isabel nowa opiekunka, znająca czarodziejskie sztuczki panna McPhee (Emma Thompson). Pod jej opieką dzieci przechodzą szkołę życia.