Cedric Brown (Colin Firth) est veuf depuis peu, et ses sept enfants Simon (Thomas Sangster), Tora, Eric, Lily, Christianna, Sebastien et Agatha ont déjà fait fuir dix-sept nounous par leurs comportements insupportables. Le soir où les enfants sont particulièrement déchaînés, une nouvelle gouvernante sonne à la porte. Elle s'appelle Nanny McPhee (Emma Thompson) et elle a toutes les apparences d’une sorcière. Elle compte imposer sa discipline et peut compter là-dessus sur son physique effraie les enfants mais, la première impression surmontée, ils sont confiants en leur capacité à la faire fuir comme les autres. Mais ils ne savent pas à qui ils ont affaire car Nanny McPhee, outre son aspect repoussant, a des pouvoirs magiques qu’elle compte bien utiliser pour faire rentrer les petits monstres dans le droit chemin.
Le spectateur lui aussi se demande qui est Nanny McPhee ? : s'agit-il d'une sorcière ou d'une gentille magicienne ? Il apparaît cependant rapidement que Nanny McPhee est la meilleure nounou du monde. Son programme est en 5 leçons. À chaque leçon apprise, son physique et ses méthodes se radoucissent. En premier lieu ses verrues disparaissent. Les méthodes peu orthodoxes de cette nounou pas comme les autres finissent par porter leurs fruits et elle se fait aimer des enfants.
Une nouvelle épreuve attend cependant la famille. Cedric Brown est contraint par sa tante à se remarier s'il veut conserver la rente qu’elle lui attribue. La seule prétendante est une femme particulièrement méchante. Les enfants s'organisent alors pour empêcher le mariage. C'est au cours de cette dernière épreuve que Nanny McPhee va mettre en pratique ses deux dernières leçons. L’harmonie rétablie, telle Mary Poppins, Nanny McPhee s'en va.