The jokes come thick and fast in this inspired first sequel as grumpy green ogre Shrek (voiced by Mike Myers) sets off to visit his in-laws.

With a funnier script, excellent characterisations and lots more fairy tales to target, this entertains from start to finish.

Newlyweds Shrek and Princess Fiona (Cameron Diaz) are summoned by her parents (John Cleese and Julie Andrews) to Far Far Away where the wicked Fairy Godmother (Jennifer Saunders) is scheming to have Shrek replaced by the not-so-nice Prince Charming (Rupert Everett).

The laughs are plentiful as Donkey (Eddie Murphy) jabbers for the world – and then there’s the wonderfully realised, film-stealing Puss in Boots (Antonio Banderas) doing his swashbuckling turn.