“Let your freak flag fly” is the message in Shrek The Musical, deftly adapted by Rabbit Hole playwright David Lindsay-Abaire (book and lyrics) and Caroline, or Change composer Jeanine Tesori from the first Shrek movie and the original 1990 story by William Steig.

Inside what is, in effect, a pretty routine pantomime with elements of kids’ show, satirical fairy tale and downright crudity – a farting and belching duet (“better out than in”) for Shrek and the bipolar princess is a low point – there lurks an ineffable message for anyone who feels down about themselves in the mirror.

Poor old ogre Shrek (Nigel Lindsay), with a face like a cabbage, a shape like a barrel, and a pair of stumpy lug-holes, finds his swamp invaded by a cast of fairy tale creatures as a result of an ethnic cleansing campaign by the ironically dwarfish Prince Farquaad (Nigel Harman).

To regain his territory, he must rescue the Princess Fiona (Amanda Holden) and deliver her to Farquaad as his bride. With the help of a jumpy donkey (Richard Blackwood), Shrek journeys into the unknown, negotiates a bridge across a lake of steaming lava and faces down a fire-breathing dragon, thus translating Farquaad’s death sentence into a triumphant medieval mission.

Love is in the air, and the good guys win out. Even the princess has a horrible secret that makes no difference. The charm and concentration of the movie is dispersed in some lumbering musical theatre elaborations, and the scaly, bat-winged dragon – at first wielded by four puppeteers, then flying through the auditorium like a giant plastic pterodactyl from a cereal packet – is no rival to War Horse.

But the bluesy, old-fashioned score and well-turned lyrics are fair enough, and both Nigels are terrific in different ways: Lindsay’s ogre is a Scottish-accented gentle giant, harmless niceness seeping through every green latex pore, while Harman is both funny and creepy, somehow remaining in a crouch position all night with his little yellow legs dangling in front of his shroud-like cloak.

But the indisputable star of Rob Ashford’s Broadway production, co-directed for London by Jason Moore, and choreographed by Josh Prince, is Amanda Holden as Princess Fiona, reasserting the musical comedy credentials she first flaunted in Thoroughly Modern Millie.

Whether tap-dancing with the Pied Piper’s rats (who start as ground-level puppets and bring up the curtain as fully-fledged hoofers) or claiming her destiny with her own infant and teenage re-incarnations (“I Know It’s Today”), Holden performs with perfect poise, true vocal technique and an appealing, steely edge.

Little ones will enjoy spotting Pinocchio (“I’m wood, I’m good; get used to it”), the Gingerbread Man voiced by a raucous pink fairy, the Three Pigs, the White Rabbit and a cavorting Peter Pan. And there is much to approve in Tim Hatley’s colourful design, which recreates the visual language and perspectives of the movie with some theatrical ingenuity.

But, at the end of the day, it all feels a bit, well, small and childish in the Theatre Royal Drury Lane, this famous bastion of the greatest musical theatre of our time, especially with a tacked-on feelgood finale (as in the movie) of the Monkees’ “I’m a Believer”, which, in live performance, exerts a karaoke effect to finish the night.