Actor Joe Alwyn says his biggest competition this Christmas is... Kermit The Frog.

Both play Bob Cratchit in versions of A Christmas Carol.

Joe's in the latest BBC adaptation from the makers of Peaky Blinders. Kermit, of course, is in the 1992 Muppets classic.

The revelation though?

"I've never actually seen A Muppet Christmas Carol," says Joe, despite it being on all Christmas, every Christmas.

Safe to say, the 2019 version is as far from Kermit, Miss Piggy and Fozzie Bear as you can get - a far darker take on the classic Charles Dickens novel.

Image caption Charlotte Riley says her favourite Christmas movie is Dudley Moore's Santa Claus and her favourite festive song is Rockin' Around The Christmas Tree

The plot is the same - The mean-spirited Ebenezer Scrooge (played by Guy Pearce) gets a visit from the ghost of Jacob Marley.

Three other ghosts then show him his past, his present and his deathly future.

"There is a psychological thriller element to it," says Charlotte Riley, who plays the Ghost of Christmas Present.

"You understand a lot more about Scrooge and why he is the way that he is.

"I think it humanises him and it makes the story of redemption even more satisfying."

Image caption Joe Alwyn's favourite Christmas movie is Home Alone, with Silent Night as his favourite Christmas song

She thinks executive producer Steven Knight has "read between the lines" of Dickens to put this new twist on the plot.

Knight is the brains behind Taboo and Peaky Blinders, and this version shares the aesthetic of both those shows.

"It's not the glossy, sanitised, cheery Dickensian world that we might know previously," says Joe Alwyn.

"It looks at Scrooge's pain and that goes into some uncomfortable themes and areas that haven't been explored before.

"It's totally in the vein of Peaky Blinders."

Image caption Stephen Graham's Christmas classic is It's A Wonderful Life, while he argues Imagine by John Lennon is his favourite Christmas song

Other cast members include Jason Flemyng as the Ghost of Christmas Future, Vinette Robinson as Mary Cratchit and Andy Serkis as the Ghost of Christmas Past.

Playing the role of Jacob Marley - Scrooge's old business partner - is Stephen Graham, who says Knight has put an "earthy, working class spin" on the festive tale.

"What this version has done is make a good representation of what's happening in society now in certain respects.

"It bangs a mirror up and says, 'Be careful'. Look at how you treat people and your fellow man.

"You don't want to go to your grave with all those horrible resentments."

A Christmas Carol marks the end of arguably the most high-profile year of Stephen Graham's career so far, with major roles in Line Of Duty, The Virtues and Martin Scorsese's The Irishman.

"It's been alright hasn't it?" he smiles.

"I still pinch myself sometimes as I'm still that little kid that just wanted to be an actor when he grew up."

He admits that more people now recognise him, which he puts down to Line Of Duty in which he played series five's protagonist, John Corbett.

"I never realised how massive that show is. And the momentum of that seemed to carry on to The Virtues."

A Christmas Carol begins on BBC One on Sunday 22 December at 21:00.

Follow Newsbeat on Instagram, Facebook, Twitter and YouTube.

Listen to Newsbeat live at 12:45 and 17:45 weekdays - or listen back here.