The children's Christmas show is not an offering you might always associate with the Royal Opera House, but they do it – and do it very well. This year sees a revival of their 2013 production, The Firework-Maker's Daughter, a show created from Philip Pullman's novel of the same name, which began life as a stage play. Directed by John Fulljames, it's a gently exotic and quietly magical act of storytelling, with a strong female hero, a vibrant score with strong, tuneful melodies from David Bruce played with relish by the CHROMA Ensemble, and plenty of visual interest contributed by skilful shadow puppetry from Indefinite Articles.

Tai Oney (Hamlet) and Lauren Fagan (Lila) © ROH | Alastair Muir
Tai Oney (Hamlet) and Lauren Fagan (Lila)
© ROH | Alastair Muir
For a children's show, it's a reasonably long night (Act I is 55 minutes, Act II is 45 minutes), so suited to children over six: the numerous children at the opening all watched attentively throughout, and the show is full of energy and drive, with brief moments of panto-style audience participation which feel almost naughty, even in the more relaxed atmosphere of the Linbury. Storytelling is clear and nicely signposted; I would still recommend reading Philip Pullman's novel in advance with your child, not only because it's a great bedtime story, but also a little familiarity will help you to appreciate the cleverness of some of designer Dick Bird's choices, particularly when it comes to the lovelorn white elephant Hamlet, whose body is projected on a screen, adverts and all.

The evening is full of thoughtful touches: the Linbury foyer is a visual feast, with firework rockets shooting into the ceiling above us, its pillars wrapped with firework posters; your programme contains colouring pages and instructions for making your own puppet. For the interval, there's a shadow puppet theatre screen to play with, complete with torch and cardboard puppets, shyly and then merrily enjoyed by several children. Most importantly, your interval ice cream can be enjoyed with a special Firework cupcake, or a glass of lemonade with edible sparkles: it's nice to see the Royal Opera House going the extra mile for their tiniest clients.

The best thing about the production, of course, is that we still get fantastic singing: just because it's for children doesn't mean anyone takes it easy in this strong and talented cast. As the firework-maker Lalchand, Wyn Pencarreg's endlessly warm tone and beautiful diction makes his every line a pleasure to hear. His daughter Lila, our heroine, gets a spirited and joyful incarnation from Lauren Fagan, full of nicely-observed childish body language and a lot of sturdy, nose-wrinkling determination. Fagan tumbles and jumps across the stage with glee, her soprano warm and crystal clear.

Ross Ramgobin (Rambashi) © ROH | Alastair Muir
Ross Ramgobin (Rambashi)
© ROH | Alastair Muir
The ever-optimistic jack of all trades Rambashi is enthusiastically portrayed by Ross Ramgobin, who also gives us a hilariously evil Emperor in the most visually stunning costume of the night, complete with mask, stilts and thin golden fingertips. Peter Kirk brings irrepressible charm and an infectious sense of fun to Chulak, the cheeky elephant boy with an eye for profit. Tai Oney, singing mainly from inside a magnificent full elephant's head mask, is an appealing Hamlet, wielding his long white trunk with one hand, consumed with love for his beautiful Frangipani.

The production grows more and more visually lush as it goes on, though always retaining a hand-drawn feel and child's-paintbox palette. Though not executed with the lightning dexterity of, for example, The Paper Cinema, Indefinite Articles are certainly creative with their projections: Lalchand can pick up his baby daughter in his hands, by cradling a curved sheet of paper, and actually rock her in the air, while giant profile headdresses make for a clever way for singers to enter the projections themselves. Shapes and outlines inspired by Sri Lankan shadow puppetry give the show a nicely oriental feel which lifts Christmas-weary spirits for anyone already tiring of tinsel, white fluff and red velvet.

<i>The Firework-Maker's Daughter</i> © ROH | Alastair Muir
The Firework-Maker's Daughter
© ROH | Alastair Muir

The final firework competition sees the visuals reach their peak, with German contender Herr Puffenflasch (Steve Tiplady) drawing swirls on a lightbox in coloured dust (à la Brazilian artist Vik Muniz), while the Italian Signor Scorcini (Sally Todd) drips coloured ink into olive oil, creating glorious bursts of colour. If anything, Lila's winning display didn't outshine these gorgeous moments enough, and couldn't hope to convey Pullman's sumptuous description in his novel of a lake coming alive with floating, glowing fireworks. But that's a small criticism of an otherwise cute, absorbing and engaging evening at which not a child wriggled or whined for two hours, not to mention playing nicely with one another in the interval. Admittedly, many of those children were French, famed for their good behaviour in public. But wherever they had come from, they were all spellbound.