One of the most enjoyable plot twists in Hollywood is watching an actor go from hero to villain, or vice versa, in the same movie franchise. Sometimes they do this with a single character, especially when the writers decide that flipping a good guy to a bad guy (or vice versa) helps the bottom line. Other times, an actor ditches the role that made them a hero to embody a villain, or vice versa.
That switch can be dicey when the actor lacks the range required to sell it. These five actors had no such problem. Each one nailed both sides so well that fans still argue over which version they prefer.
1. Jason Statham: Deckard Shaw (The Fast & Furious Franchise)
Few villains have been introduced better than Jason Statham’s Deckard Shaw. He showed up during the mid-credits scene in Furious 6 like a total wrecking ball. His first act was murdering Sung Kang’s Han (or leaving him for dead), one of the franchise’s most beloved characters. He then calls Dominic Toretto (Vin Diesel) to say: “You don’t know me, but you’re about to.” Whew!!! Villains don’t get bolder than that. But then, something strange happened. The writers fell in love with the guy, dragged him into the Toretto fold in The Fate of the Furious.
In Hobbs and Shaw, he teams up with Luke Hobbs (Dwayne Johnson) to stop cybernetically enhanced Brixton Lore (Idris Elba). And by F9 and Fast X, he’s dining with the same family he swore to exterminate for killing his brother. Does that make sense? Probably not. Does it work? Absolutely. The writers have said that Shaw was never pure evil; he was just avenging his brother. Fans still wanted justice for Han, though, but the franchise kept speeding forward. And when one thinks about it, that’s exactly what the Fast Franchise is all about. Physics don’t apply, and neither do grudges.
2. Hayden Christensen: Anakin Skywalker to Darth Vader (Star Wars Franchise)

Hayden Christensen caught more grief than anyone else in Star Wars history, and none of it feels fair. The prequels had him playing a kid who missed his mom, loved too hard, and got scared of losing everyone he ever loved. That fear turned into anger. That anger turned into choking his own wife and officers for sport. One actor tracked that whole messy collapse across three movies.
Later, Obi-Wan Kenobi allows him to play both halves again, and it works only because everyone still remembers the whiny kid who complained about sand underneath that mask. Christensen is confirmed to return as Anakin’s Force ghost in Ahsoka season 2, premiering January 2027. That means he’ll be playing both versions of the character a while longer.
3. Geoffrey Rush: Captain Barbossa (Pirates of the Caribbean Franchise)
Captain Barbossa’s (Geoffrey Rush) first scene in Curse of the Black Pearl is genuinely creepy. He mutinies against Jack Sparrow (Johnny Depp), curses his whole crew with immortal skeleton bodies, and pretty much spends the entire movie standing between everyone and their happy ending. Rush plays Barbossa with such greedy swagger that making him likable later on shouldn’t have worked. But it did. He never really changed at his core; he just pointed that same chaotic energy he had at different targets.
Apple in hand. Still hungry for whatever he can grab next. By the fifth movie, he was fighting beside the very people he marooned on a desert island. It’s hard to imagine that Rush almost said no to the role at first, but he didn’t. And thank goodness he didn’t. He appeared in all five movies, and he’s said that Barbossa’s sacrifice in the fifth movie was the real ending for him. He makes a pretty good point.
4. Josh Brolin: Cable to Thanos (MCU)

Hang on a second. This one’s kinda tricky, but it also makes sense the longer one thinks about it. In Deadpool 2, Josh Brolin played Cable, a grumpy time-travelling antihero with a metal arm and zero patience for jokes. That movie originally belonged to Fox’s X-Men Universe, not the MCU, where Brolin collected shiny rocks and snapped his fingers as Thanos. Two different worlds. Two studios. It all stretches back to Disney’s 2019 buyout of Fox, though the two franchises didn’t actually collide on screen until Deadpool & Wolverine folded everything into one big multiverse in 2024.
Suddenly, Brolin’s two characters shared a universe. It’s a loophole, sure. But he still deserves credit for making the grumpiest antihero in the X-Men Universe and arguably the scariest villain in the MCU feel like two totally different people. Brolin, though, prefers Thanos to Cable because the filming process for the Mad Titan surprised and moved him more than he expected. He also said he would return in a heartbeat if the Russo brothers called. His preference for Thanos is ironic, considering the character was only supposed to be a cameo at first.
5. Robert Downey Jr.: Iron Man to Doctor Doom (MCU)
Robert Downey Jr.’s Tony Stark died to save the universe in 2019. Downey had been the face of the MCU for over a decade, from the first Iron Man in 2008 through to the ultimate sacrifice play in Endgame. Fans cried their hearts out, and it felt like a permanent goodbye to both Downey Jr. and the character. Well, Tony Stark might be gone, but Downey isn’t. Marvel’s announcement that he was returning as Victor Von Doom in Avengers: Doomsday nearly broke the internet.
For context, Doctor Doom is one of the most iconic villains in comic book history, and the idea that RDJ would take on the responsibility of portraying the character feels alien. But it works because audiences, and to a significant extent, the other characters already trust that face. That trust is what’ll make it hurt so much when that face is used against them. Again, Downey himself has said he prefers Doom for now because he gets to watch what he’s missing as a hero. That’s a wild thing to hear from the guy who was Iron Man.
Follow Us





