Bah, Humbug? 9 TV Shows That Adapted ‘A Christmas Carol’

Tony Randall as Marley and Jack Klugman as Ebenezer Scrooge in 'The Odd Couple,' Jasmine Guy of 'A Different World,' and Matt Smith as the Eleventh Doctor in 'Doctor Who'
Everett Collection, Mario Casilli/NBC/Courtesy: Everett Collection, BBC One

Even the number-crunching Ebenezer Scrooge would be hard-pressed to count how many times Charles DickensA Christmas Carol has been adapted for the screen. (Check out our 10 favorite Scrooges from film and TV.) But non-Dickensian TV shows have also devoted episodes to Christmas Carol-inspired stories, as you’ll see below. With selections spanning five decades of television, here are TV shows that put their own spin on the classic Christmas tale.

Tony Randall as Marley and Jack Klugman as Ebenezer Scrooge in 'The Odd Couple'
Everett Collection

The Odd Couple

In “Scrooge Gets an Oscar,” a grouchy Oscar (Jack Klugman) refuses to play the part of Ebenezer Scrooge in the charity Christmas play Felix (Tony Randall) is mounting. But then Felix and Oscar’s poker buddies get Dickensian and haunt Oscar’s dreams that night.

Loni Anderson as Jennifer Marlowe and Gordon Jump as Arthur Carlson in 'WKRP in Cincinnati'
Everett Collection

WKRP in Cincinnati

“Bah, Humbug” casts station manager Arthur Carlson (Gordon Jump) in the Scrooge role, as he’s reluctant to give his employees bonuses for the holidays. But when he eats one of Dr. Johnny Fever’s (Howard Hesseman) brownies and passes out, ghastly visitors change his mind.

Michael J. Fox as Alex Keaton in 'Family Ties'
NBC

Family Ties

Leave it to the fiscally conservative Alex Keaton (Michael J. Fox) to be the miserly Scrooge of the holiday season in “A Keaton Christmas Carol.” Eventually, the Ghosts of Christmas Past, Present, and Future show him the reason for the season — as well as a future version of himself wearing an obvious bald cap.

Jasmine Guy of 'A Different World'
Mario Casilli/NBC/Courtesy: Everett Collection

A Different World

When Christmas doesn’t pan out the way Whitley (Jasmine Guy, pictured here) envisioned, she plans to spend the holiday “solitary as an oyster,” as Dickens would say. And it’s not Marley but Marion — Whitley’s mother, played by guest star Diahann Carroll — who heralds the incoming arrival of three Christmas ghosts.

Brent Spiner as Data playing Ebenezer Scrooge in 'Star Trek: The Next Generation'
Paramount Television

Star Trek: The Next Generation

The episode “Devil’s Due” opens with Data (Brent Spiner) performing a scene from A Christmas Carol on the Enterprise’s holodeck as Jean-Luc Picard (Patrick Stewart) watches. Stewart, incidentally, had made a name for himself with his one-man stage performances of A Christmas Carol a few years prior.

Danny DeVito, Kaitlin Olson, Glenn Howard, Rob McElhenney, and Charlie Day in 'It's Always Sunny in Philadelphia'
Patrick McElhenney/FX/Courtesy: Everett Collection

It’s Always Sunny in Philadelphia

In “A Very Sunny Christmas,” twins Dennis (Glenn Howerton) and Dee Reynolds (Kaitlin Olson) try to get dad Frank (Danny DeVito) to be a more generous giver at the holidays by showing him a blast from the past, tough love from the present, and an ominous vision of the future. (Frank, however, gets the last laugh, and his Scrooge-like ways persist.)

Matt Smith as the Eleventh Doctor in 'Doctor Who'
BBC One

Doctor Who

In “A Christmas Carol” — a holiday special from Matt Smith’s run as the Eleventh Doctor — a space liner is stranded in a cloud belt, and the one man (Michael Gambon) who can control the clouds refuses to help. So it’s up to the Doctor to time-travel to the man’s past to engender kindness in the young lad and save the space liner in the present.

Peter Griffin in 'Family Guy'
20th Century Fox Film Corp./Courtesy: Everett Collection

Family Guy

In “Don’t Be A Dickens at Christmas,” Peter Griffin (Seth MacFarlane) grouses about joining wife Lois (Alex Borstein) in charitable Christmas activities. And it’s the ghost of Patrick Swayze — voiced by Don Swayze, the late actor’s brother — who gets Peter to show more holiday spirit.

Michael Easton as Ebenezer Scrooge in 'General Hospital'
ABC

General Hospital

The Port Charles residents dramatized the Dickens tale in the episode “A General Hospital Christmas Carol,” with the Scroogey attitude of Hamilton Finn (Michael Easton) set right by ghosts in the forms of Josslyn Jacks (Eden McCoy), Liesl Obrecht (Kathleen Gati), and Ava Jerome (Maura West).