They say that television is the land of make believe, but a lot of fans had a tough time swallowing the bologna when studio execs switched the actors playing their favorite characters with someone who looked entirely different.
A similar hair color and fashion sense just aren't enough to capture the feeling of a character that an actor creates when they do their job on a TV series. So, here are some of the most shocking cast replacements that left fans stunned and, in some cases, unhappy.
Albus Dumbledore in “Harry Potter”
In the first two films of the “Harry Potter” franchise, Headmaster of Hogwarts Albus Dumbledore was played by Richard Harris, who was expected to play the character throughout the entire run of the film series. Harris took the role to please his 11-year-old granddaughter, but unfortunately, Harris passed away before the release of the third film. Ian McKellen was offered the role, but it ultimately went to actor Michael Gambon, who played Dumbledore in all of the remaining films.
Victoria in “Twilight”
In the first two installments of the “Twilight” film franchise, the vampire Victoria was portrayed by actress Rachelle Lefèvre. She was later stunned that she was recast because she was “fully committed” to doing more films in the franchise and even turned down other roles to continue with the series. She was replaced by actress Bryce Dallas Howard in the third film of the franchise, “The Twilight Saga: Eclipse.”
In the 2003 film “Hulk,” the huge green superhero was played by actor Eric Bana, and when the character was given another film titled “The Incredible Hulk” in 2008, he was played by Edward Norton. Actor Mark Ruffalo has since taken over the character, portraying the Hulk in “The Avengers” series since 2012.
Rachel Dawes in the “Batman” Series
In the film “Batman Begins” actress Katie Holmes played Bruce Wayne’s childhood friend and love interest Rachel Dawes. Her character was described as a “moral conscience for Bruce” and director Christopher Nolan loved Holmes’s warmth and maturity in the role. But in “The Dark Knight,” the character was played by Maggie Gyllenhaal because Holmes declined to return for the sequel because of filming obligations for the film “Mad Money.”
Reggie Porter on “All My Children”
The soap opera character Reggie Porter was played by a few famous faces in the run of the series. Chadwick Boseman played the character in 2003 until he was fired after voicing concerns about racist stereotypes in the script. The character was then portrayed by Michael B. Jordan until 2006.
Johann Schmidt in “The Avengers” Series
Actor Hugo Weaving played Johann Schmidt in “Captain America: The First Avenger,” but after the character transformed into Red Skull, the character was recast. In “Avengers: Endgame,” Red Skull was voiced by “The Walking Dead” actor Ross Marquand.
Pam’s Mom on “The Office”
Pam Beesly’s mom was first portrayed on the show in season two by actress Shannon Cochran. But in season six of the series, the character of Helene Beesly was given a much larger role, so producers of the show cast Linda Purl, who brought some great comedy to the part.
Evelyn Carnahan in “The Mummy”
In the 1999 film “The Mummy” actress Rachel Weisz played leading lady Evelyn Carnahan. She reprised her role in the 2001 sequel “The Mummy Returns,” but was replaced by actress Maria Bello in the 2008 film “The Mummy: Tomb of the Dragon Emperor.” Rumors have circulated around why Weisz left the project and it may have been because of personal issues with the script of the third film.
The Villain on “Beverly Hills, 90210”
After four seasons on the show, actress Shannen Doherty left “Beverly Hills, 90210” in 1994. She played Brenda Walsh on the series, but her bad girl reputation followed her in real life and she was fired from the series. “Saved by the Bell” actress Tiffani-Amber Thiessen then joined the cast in season five and her character took over some of Doherty’s storylines.
Laurie Forman from "That '70s Show"
Everyone knows that late actress Lisa Robin Kelly did a marvelous job portraying girl next door character Laurie Forman on “That 70s Show.” But Kelly was fired from the show because of substance control issues and she was replaced by actress Christina Moore.
Jesus from "The Fosters"
Jake T. Austin from “Wizards of Waverly Place” played the role of Jesus Adams Foster on “The Fosters” in 2013. But after seemingly vanishing from existence for a couple of episodes, the character resurfaced. However, the role was then played by another actor named Noah Centineo, after Austin left to pursue different types of roles.
Reggie Mantle from "Riverdale"
When Ross Butler decided to leave the CW series “Riverdale” after one season, the show-runners went looking for another heartthrob to fill his shoes and they found one in actor Charles Melton, who was simply dreamy.
Myrcella Baratheon from "Game of Thrones"
Princess Myrcella Baratheon was the daughter of Queen Cersei Lannister and King Robert Baratheon. We later learned Jaime Lannister was her biological father. But the real shock came when actress Aimee Richardson, who played Princess Myrcella, was replaced by actress Nell Tiger Free, who does in fact look considerably younger than Richardson.
Jackie Geary from "The Goldbergs"
Fans were seeing red when actress Rowan Blanchard, who played Jackie Geary on “The Goldbergs,” was replaced in season six by actress Alexis G. Zall. But it was Blanchard herself who later admitted that she was the one who decided not to return to the show, and it was not the producers who wrote her off the series.
Carol from "Friends"
Although Carol was a recurring character on the show, she was also the mother of Ross’s son on “Friends.” Of course, most fans remember actress Jane Sibbett’s portrayal of the character, but during the first season, it was actress Anita Barone who played Carol. Barone left the series because she felt the role wasn’t big enough.
Mandy Milkovich from "Shameless"
Actress Jane Levy played the role of Mandy Milkovich on “Shameless,” but then she landed the lead role in the sitcom “Suburgatory” and decided to leave the show. So, actress Emma Greenwell was hired to fill in until season six when her character left town.
Aunt Vivian from "The Fresh Prince of Bel-Air"
Janet Hubert originally played Aunt Vivian on “Fresh Prince of Bel Air.” But issues with Will Smith off-camera led to her dismissal. So producers replaced her with actress Daphne Maxwell Reid, and tried to pass her off as Aunt Viv, much to the dismay of many fans.
Kaitlin Cooper from "The OC"
Marissa Cooper’s little sister, Kaitlin on “The OC” was played by actress Shailene Woodley during the show’s early beginnings. But when producers decided to write the character back in, they needed an actress who was older, so the role went to Willa Holland.
Becky Conner from "Roseanne"
Lecy Goranson played Becky, the eldest daughter of the Conner clan on “Roseanne.” But somewhere down the road, Goranson left for college and was replaced by “Scrubs” actress Sarah Chalke. But over the course of the series, Goranson reprised her roles more than once, leaving fans wondering what was going on.
James “Rhodey” Rhodes in “Iron Man”
In the first “Iron Man” film, which premiered in 2008, Terrence Howard appeared as Tony Stark’s friend Rhodey, who was a member of the United States Air Force. Marvel Studios offered a pay cut to Howard to appear in “Iron Man 2,” but after negotiations fell through, Don Cheadle was brought on to play the character. He has continued to portray Rhodey in all subsequent film appearances.
Penny on “The Big Bang Theory”
Penny is a fan favorite character on the long-running series that’s a hit with science nerds, pop culture fans and everyone in between. But the character almost had an entirely different name and actress! In the pilot of the series, Sheldon and Leonard’s neighbor was named Katie and she was played by Amanda Walsh. After this pilot was filmed, producers changed the character and hired actress Kaley Cuoco.
Trudy Monk on “Monk”
The series “Monk” ran from 2002 to 2009 and during that time a major plot point of the series revolved around detective Adrian Monk trying to solve his deceased wife’s murder. His wife was played in the first and second seasons by actress Stellina Rusich, before she was replaced by actress Melora Hardin, who is familiar to many TV fans for playing Jan Levinson on “The Office.”
Donna Gable on “Kevin Can Wait”
Many fans of “Kevin Can Wait” were shocked when the character Donna Gable, who was played by Erinn Hayes, was killed off to make room in the cast for Kevin James’s former “King of Queens” costar Leah Remini. James justified the plot point by explaining that “it really felt like a thing like this was needed for this show to drive forward.”
Marnie Piper in “Halloweentown”
Young actress Kimberly J. Brown played the character of Marnie Piper in three out of four films of Disney Channel’s “Halloweentown” movie series. In the fourth film in the series, she was replaced by actress Sara Paxton, which left fans up in arms. Original actress Brown was also disappointed about the replacement, because she was available for filming the fourth film.
Catwoman from “Batman”
Julie Newmar originally played the catsuit-clad supervillain in the ‘60s television series and she left the role after two seasons to pursue film work. In the third season of the series, the role was played by Eartha Kitt, who made iconic changes to the character that will be remembered by fans forever.
Ryan Vogelson on “Last Man Standing”
Pop star Nick Jonas appeared on one episode of the Tim Allen lead sitcom in 2011 as Ryan, a love interest to the character Kristin. Actor Jordan Masterson was cast in the role in the second season of the show onward, as it’s assumed that Jonas’s schedule was much too full to take on a full time gig on the series.
Frank Costanza on “Seinfeld”
George’s father also got a revamp during the run of the popular ‘90s comedy. Most people remember the hilarious Jerry Stiller as Frank Costanza, but the first appearance of the character featured actor John Randolph in the role. Stiller later reshot Randolph’s scenes for syndication.
Dr. Naomi Bennett on “Private Practice”
The character of Naomi Bennett was portrayed by actress Merrin Dungey on the series “Grey’s Anatomy,” but when the character was chosen to appear in the spin-off series “Private Practice,” Broadway legend Audra McDonald took over the role.
Toby Cavanaugh on “Pretty Little Liars”
In the pilot episode of the series “Pretty Little Liars,” the character Toby Cavanaugh was called Toby Marshall and he was played by actor James Neate. In later episodes, the character was played by Keegan Allen, who continued to portray Spencer’s love interest for the rest of the series.
Collette on “Step Up”
In February of 2021, Starz announced that singer and actress Christina Milian would take over the role of Collette for “Step Up’s” third season. She will be replacing “Glee” actress Naya Rivera, who unfortunately passed away in 2020 following a boating accident.
Meg Griffin on “Family Guy”
Meg has always looked the same on the raunchy animated show, but she hasn’t always sounded the same. “Mean Girls” actress Lacey Chabert voiced Meg at the show’s start in 1999 and 2000 before Mila Kunis took over the role in the show’s second season.
Phoebe Halliwell on “Charmed”
Alyssa Milano is most well remembered for playing the role of Phoebe on The WB series “Charmed,” but in an unaired pilot, the character was played by actress Lori Rom. Rom made the decision to leave the series after the filming of the pilot for personal reasons, but the creators of the show were fortunate that Milano worked well in the role.
James Kent on “True Blood”
Luke Grimes played James Kent on the series “True Blood” for its first six seasons, and after saying that he wasn’t happy with the direction that his character was going in, he was replaced by actor Nathan Parsons. It was later discovered that Grimes’s disagreement with his character getting involved in same-sex plot lines that was the real reason for his departure.
Mason Verger on “Hannibal”
It’s almost hard to notice this transition between actors in “Hannibal,” because the character’s face was made to look disfigured in the episodes after actor Mason Verger took over for actor Michael Pitt. That made the transition seamless for fans of the show.
Mandy Baxter on “Last Man Standing”
Another actor that was replaced on the series “Last Man Standing” was Molly Ephraim. She was replaced by Molly McCook after the series was rebooted on Fox because Baxter was unavailable to play her role after the show was originally canceled by ABC.
Catelyn Stark on “Game of Thrones”
In the pilot episode of the epic HBO series “Game of Thrones,” Catelyn Stark was portrayed by actress Jennifer Ehle. The British actress was a new mother at the time of filming and she ultimately decided that she needed to focus on her family instead of taking on an emotionally taxing role, so she was replaced by Northern Irish actress Michelle Fairley.
Greg Serrano from "Crazy Ex-Girlfriend"
Santino Fontana played Greg Serrano, one of Rebecca’s love interests, on the musical series “Crazy Ex-Girlfriend.” Unfortunately, scheduling conflicts led to him leaving the series. Then in the final season, actor Skylar Astin was brought in to take over the role of Greg.
Lily from "Modern Family"
Lily was the adoptive daughter of Cam and Mitchell on “Modern Family.” She was originally played by twins Jaden and Ella Hiller during the sitcom’s first few seasons. But eventually, the role went to actress Aubrey Anderson-Emmons, whom fans totally adore.
Daario Naharis from "Game of Thrones"
During the first three seasons of the series, Khalessi’s lover Daario was played by actor Ed Skrein on “Game of Thrones.” But somewhere along the way, Skrein left to star in the 2015 film “The Transporter Refueled.” So, actor Michiel Huisman took over as Daario. Luckily fans adored Huisman as much as they did Skrein.
Capheus Onyango from "Sense8"
British actor Aml Ameen played the role of Capheus Onyango, a character on Netflix's “Sense8.” But creative differences between the actor and the producers forced him to quit. So, actor Toby Onwumere was brought in to play the role for the remainder of the series.
Kristin Baxter from "Last Man Standing"
Actress Alexandra Krosney played Kristin Baxter on “Last Man Standing” during the entire first season. But something happened behind the cameras that led to her being replaced by actress Amanda Fuller for the remainder of the series.
Morty from "Seinfeld"
“Seinfeld” fans remember Barney Martin’s amazing performance as Seinfeld’s father, Morty. But anyone who revisits the first season will see that another actor named Phil Bruns played Morty. But Seinfeld was simply looking for someone who could make the character more bad-tempered and Martin did a better job at it.
Father Mulcahy from "M*A*S*H"
The oh-so wacky Father Mulcahy made audiences laugh for several seasons of “M*A*S*H.” But while actor William Christopher played Mulcahy for most of the series, actor George Morgan also played the character for a blink and you’ll miss it period of time.
Jason from "Pretty Little Liars"
On “Pretty Little Liars,” Alison’s brother, Jason, was played by actor Parker Bagley in season one. But when the character was seen again, he was played by actor Drew Van Acker, who looks nothing like Bagley, but was also very handsome.
Morgan Matthews from "Boy Meets World"
Morgan Matthews was a recurring character on “Boy Meets World,” but she appeared enough times to get fans to notice a cast change. Matthews, who was Cory’s sassy little sister, was played by Lily Nicksay. But producers later hired actress Lindsay Ridgeway to play an older version of the character.
Darrin from "Bewitched"
Darrin, the human husband of his witch of a wife, Samantha on “Bewitched,” was played by Dick York for the first five seasons of the series. But chronic back pain prevented him from continuing on the show. So, Dick Sargent took over the role during the latter half of season five until the end of the series.
Jenna Wade from "Dallas"
Jenna Wade was a popular character on the long-running drama series “Dallas,” but the character was played by three different actresses. The first one was Morgan Fairchild, who was quickly replaced by actress Francine Tucker. Then the show-runner got rid of Tucker and hired Priscilla Presley, who was Elvis Presley’s ex-wife, to play the role.
Alura Zor-El from "Supergirl"
Alura Zor-El, aka Supergirl’s mom, on the CW series “Supergirl” was played by Laura Benanti. The actress also played the role of Alura’s twin sister, General Astra. But Benanti left because she wanted to work on Broadway in New York City. So, the role of Alura went to actress Erica Durance, who played Lois Lane on the TV series “Smallville.”
Ginger Grant from "Gilligan’s Island"
Actress Kit Smythe played Ginger Grant during the “Gilligan’s Island” pilot. But the fabulous looking red-headed character got a new star in the form of Tina Louise, whom the producers felt was very suited for the sitcom.
John Boy from "The Waltons"
“The Waltons” gave viewers a glimpse into what life was like during the Great Depression and World War II. But fans were a little dumbfounded after season five when actor Richard Thomas, who played John Boy, was written off the series. The character later returned but was played by actor Robert Wightman.
Harriet Winslow on “Family Matters”
Jo Marie Payton played the matriarch of the Winslow family for the first eight seasons of the popular sitcom, but halfway through season nine of the series, actress Judyann Elder took over the role. Payton had wanted to leave the show for several years, but couldn’t do so due to her contract. She was only absent for nine episodes of the series, and she later returned to appear in the finale of the show.
Kate Kane on “Batwoman”
Actress Ruby Rose stunned fans when she announced her exit from the Batwoman series after only one season. Rose found the injuries she suffered during filming along with the demands of leading the show to be too much to handle. After wondering who should take over the role in the second season, producers of the show instead decided to write the character’s disappearance into the show itself, choosing to not recast the beloved character.
Teenie on “Big Love”
“Big Love” was an HBO series about a Mormon family that aired from 2006 to 2011 and fans of the series were surprised when future Disney Channel actress Bella Thorne took over the role of Teenie in the fourth season of the show. The part was originally played by Jolean Wejbe, but producers of the show told Thorne to “not try and match the other actress.”
The Mountain on “Game of Thrones”
The epic fantasy series “Game of Thrones” did a lot of recasting during the run of the series because of travel required for filming and some pretty tough filming schedules. The role of The Mountain was recast three times. He was first portrayed by Conan Stevens, who had scheduling conflicts, so he was replaced by Ian Whyte, before Icelandic actor Hafþór Júlíus Björnsson played the role in season four.
Bobby Draper on “Mad Men”
Many, many child actors portrayed Don Draper’s son Bobby on “Mad Men,” while his sister Sally was portrayed only by actress Kiernan Shipka during the entire series. Bobby was portrayed by Maxwell Huckabee, Aaron Hart, Jared Gilmore and Mason Vale Cotton during the series, and sometimes, other actors wouldn’t even bother to learn the incoming child actors’ names.
Black Canary on “Arrow”
In the pilot for “Arrow,” Black Canary was played by actress Jacqueline MacInnes, but after filming the pilot, scheduling issues caused her to turn down the role. Then Caity Lotz took over the character and fans are glad that she did because no one looks better in the signature mask than her!
Robin Hood on “Once Upon a Time”
Tom Ellis portrayed the character Robin Hood on just one episode of ABC’s fantasy program in season two of the show. Due to scheduling conflicts, he couldn’t return to the role, so he was replaced by actor Sean Maguire, who portrayed the character in 56 episodes of the series.
The Night King on “Game of Thrones”
The Night King was obviously a character that was in heavy prosthetics and makeup on the show, so even some fans of the series might not have noticed that more than one actor played the character. Richard Blake played the original Night King before being replaced in season six by actor Vladimir Furdik, who had previously been on the show playing the first White Walker that Jon Snow killed.
Mateo on “Jane the Virgin”
Proving that the job of child actors is anything but easy, original actor of the character Mateo, Joseph Sanders, had to leave the show because he was busy with schoolwork. In season four of the series, the character was portrayed by Elias Janssen, who continued playing the character through the show’s fifth and final season.
Allison Stark on “’Til Death”
“’Til Death” was a sitcom that centered around characters played by Brad Garrett and Joely Fisher, but their daughter on the show was constantly changing faces! The character Allison Stark was played by Krysten Ritter in seasons one and two, Laura Clery in seasons three and four and both Lindsey Broad and Kate Micucci in season four. The fact that so many actresses played the character became a running gag on the series.
Chuck Cunningham from "Happy Days"
Chuck Cunningham was the eldest sibling in his family on “Happy Days,” and he was played by Gavin O’Herlihy. But he was later replaced by actor Randolph Roberts. The most obvious difference between the men was that one was a redhead and the other wasn’t. But this change passed by the notice of many viewers, because the character was written out of the show after the first season.
Sydney Shanowski from “Hope and Faith”
Many movie-goers recognize Megan Fox from her role in the “Transformers” film series, but few remember that she had a role on the Faith Ford and Kelly Ripa sitcom “Hope & Faith.” Fox played the character Sydney after replacing actress Nicole Paggi, who played the character in the first season of the show. The role was also played by Brie Larson in an unaired pilot.
Chris Partridge on “The Partridge Family”
The classic series “The Partridge Family” aired on ABC from 1970 to 1974 and the show featured a musical family of talented kids. The youngest of the children was played by Jeremy Gelbwaks in season one of the series, before he was replaced by Brian Forster because he wasn’t happy on the set.
Sarah Braverman on “Parenthood”
The hour-long drama “Parenthood” is lead by some great actors like Dax Shepard, Lauren Graham and Peter Krause, but can you imagine the show without Graham in the role of Sarah Braverman? In an unaired pilot of the show, the character was played by actress Maura Tierney before the replacement was made.
Danny Tanner on “Full House”
We all know Bob Saget as the lovable clean freak Danny Tanner, but due to scheduling problems, he almost never got the role. Actor John Posey originally played the role of Danny in the series pilot, but he was replaced by Saget after he became available for filming.
Cousin Marilyn on “The Munsters”
“The Munsters” was a series in the 1960s that featured monsters and creatures like Frankenstein, werewolves and vampires. Cousin Marilyn, however, looked like any other normal girl. And the actress who played her was pretty normal, too. Beverley Owen was replaced by actress Pat Priest because she wanted to spend more time with her significant other Jim Stone, who was a writer on the children’s series “Sesame Street.”
Ann Veal on “Arrested Development”
The character of Ann Veal was known to have a “forgettable face,” so the creators of the show wanted to use a different actress for the character in every episode she appeared in. That is, until actress Mae Whitman landed the role, and her memorable performance ended that plan.
Delores Pasternak on “Two and a Half Men”
Delores Pasternak was Jake’s fifth grade teacher and Charlie Harper’s love interest on the series, but while she was originally played by iconic actress Missi Pyle, she was later replaced by actress Alicia Witt. The change was noticeable, but both actresses did a hilarious job.
Lois Lane on “The Adventures of Superman”
On the ‘50s television adaptation of Superman, the heroic leading man was at forefront of the show, leaving Lois Lane little time to develop her character. While original actress Phyllis Coates did a great job in the role in the first season of the show, actress Noel Neill was more memorable to fans of the show, as she played the character for the remaining five seasons of the series.
Lionel Jefferson on “The Jeffersons”
The character Lionel Jefferson was the son of matriarch Louise Jefferson, a character who spun-off from the series “All in the Family.” Lionel was played by Mike Evans in the first season of the series, but he was replaced by actor Damon Evans (no relation) in the second season. Mike Evans later returned to the show in season five and became a recurring star of the series in its sixth season.