Christmas time in London has its own holy stage trinity: Handel’s Messiah, The Nutcracker and A Christmas Carol. The Old Vic’s version of the latter has become something of a London institution, ever keeping to the same production but with a new face each year as Ebenezer Scrooge.

This time around, the main man is Welsh character actor Owen Teale. His most famous role of recent times was as Ser Alliser Thorne who, in Game Of Thrones, was Jon Snow’s enemy at Castle Black, tormenting him at every turn. And here, in turn, he is tormented by the three Ghosts of Christmas as well as his ex-partner Jacob Marley.

Teale is everything that last year’s Scrooge wasn’t. Stephen Mangan was an uncomfortable fit for someone playing a man with, as Dickens described him, “old features” but his youth counted for him in the flashback scenes where director Matthew Warchus takes us into Scrooge’s childhood.

There will perhaps never be an ideal actor to play Scrooge considering how the play flips between the decades but Teale gives a more grounded performance, his growling financer a veritable villain from the off. The in-the-round staging gives us all a chance to see this acting masterclass up close and enjoy the transformation from the miser who derides his employee Bob Cracthitt, his nephew and visiting carollers to a man eager, almost desperate, to make up for his misanthropic ways.

Much of the visual magic here is down to Rob Howell’s brilliant set design. As well as the unusual staging, the finale sees fruit and potatoes rain down onto the stage in an unexpected bounty as well as an entire turkey. The best is saved for the ending where the cast and musicians work hard to jerk all the tears and melt any hearts still intact.

The Old Vic’s A Christmas Carol is not just a seasonal treat but one to look forward to every year, all year. With theatre like this packing out the pews, God bless us one and all.