Superhero Movie Cameos That Were Kept Under Wraps
Contains spoilers for multiple superhero movies
Superhero movies are among today's biggest blockbusters, featuring some of the most impressive action and jaw-dropping special effects. But those aren't the only things that fans can expect to see, as unpredictable cameos have become a staple of the genre. Over the years, the filmmakers and movie studios who make these powerhouse projects have gone to great lengths to include these Easter egg appearances — and even greater lengths to keep them a secret to ensure they'll come as a surprise to audiences.
Whether it is callbacks to actors you may have forgotten about, major movie stars, or even shocking returns of fan-favorite characters we never thought we'd see again, filmmakers like to sneak in these little quick cameos to delight audiences. For decades, comic book fans could always count on seeing Stan Lee in just about every Marvel movie, but there are plenty more that the filmmakers managed to keep under wraps until the very last minute. Some were designed to give a teasing glimpse of the future of a franchise, and others were just fun, one-off gags — meant for eagle-eyed moviegoers only — that many may never even have noticed. These are some of the best superhero cameos that the filmmakers managed to keep under wraps.
Charlie Cox in Spider-Man: No Way Home
The 2021 threequel "Spider-Man: No Way Home" was packed with guest stars and cameos, with characters brought back from previous films in the wall-crawler's history all played by their original actors. This included Alfred Molina as Dr. Octopus, Willem Dafoe as the Green Goblin, and J.K. Simmons as J. Jonah Jameson. But arguably the most surprising cameo that Marvel was able to keep a lid on was Charlie Cox as Matt Murdock aka Daredevil.
Following the abrupt cancelation of his own series on Netflix in 2018, fans were not particularly optimistic about the prospects of Cox returning to the role. After three years without any news, it seemed more likely that Marvel would reboot the series entirely and cast a new actor instead of bringing Cox back. Yet, when "Spider-Man: No Way Home" arrived, there he was — red glasses and all — advising Peter Parker (Tom Holland) on his tricky legal situation. It was a cameo that many fans had dreamed of, but few saw coming.
Not long after this memorable moment, Marvel announced that Cox would in fact be returning in a brand new Disney+ series, "Daredevil: Born Again." The fans' appetite for more Daredevil was satiated in the meantime with the character making a guest appearance on the series "She-Hulk: Attorney at Law."
Henry Cavill in Black Adam
Henry Cavill was one of the first actors cast in the DC Extended Universe, first playing Superman in 2013's "Man of Steel," followed by appearances in "Batman v Superman: Dawn of Justice," and "Justice League." Due to some apparent bad blood between Warner Bros. and Cavill, the actor announced that he will not be returning to the role for future movies. Flash forward to 2022, and you can imagine the surprise when it was announced — on the eve of the release of "Black Adam" — that Cavill was back in the cape.
Sure enough, megastar Dwayne Johnson had found a way to convince Warner Bros. to bury the hatchet with Cavill and the actor returned as Superman in a small cameo at the end of his film. Teasing an apparent showdown between Johnson's anti-hero powerhouse and Cavill's Superman, the cameo seemed to be the perfect set-up for an epic sequel. Unfortunately, it all went up in smoke shortly after when writer-director James Gunn was put in charge of the new DC Universe and opted to wipe the slate clean, casting David Corenswet as the new Superman.
Matt Damon in Thor: Ragnarok
In the era of cinematic universes and endless multiverses, it is easy to expect superhero movies to deliver surprising cameos. Audiences have gotten used to a fellow hero dropping in to pay a visit to another, and this is just what fans want to see. However, in "Thor: Ragnarok," director Taika Waititi did something a little different, and enlisted the services of one of Hollywood's biggest stars for an uncredited walk-on role.
In a memorable moment early in the film, Thor arrives back home on Asgard, where a group of theater actors is putting on a stage performance of Thor and Loki's adventures. Playing Thor is Chris Hemsworth's brother, Luke, while Odin is played by Sam Neill — who had previously worked with Waititi on "Hunt for the Wilderpeople." But the biggest and most secretive cameo was none other than Jason Bourne himself: Matt Damon as the God of Mischief, Loki. Like many unexpected cameos, an insider spoiled it before release, and this particular news was broken on The Weekly Planet podcast during their segment "Hot Scoop or a Shot of Poop." However, most audience members weren't aware of it going into the film, leaving jaws dropped when the A-list actor showed up.
Bruce Willis in Split
Following the critically acclaimed horror thriller "The Sixth Sense," director M. Night Shyamalan brought us the comic book-inspired "Unbreakable," also starring Bruce Willis who had appeared in the aforementioned thriller as well. In "Unbreakable," the "Die Hard" star played David Dunn, a security guard who realizes he has superhuman abilities and uses them to take on a twisted terrorist named Mr. Glass (Samuel L. Jackson). Though there had long been talk of a sequel, nothing came of it and Shyamalan moved on to different projects.
Then, in his 2016 film "Split" — starring James McAvoy as a villain called the Beast — fans got the shock of a lifetime when Willis made a cameo as Dunn in the film's final moments. In the eye-popping reveal, Dunn is seen sitting in a diner watching news footage of the Beast, the new villain who reminds the nearby waitress of his old nemesis, Mr. Glass. This shocking moment confirmed "Split" was in fact a sequel of sorts to "Unbreakable," and the trilogy would be completed three years later — uniting Willis, Samuel L. Jackson, and James McAvoy in a three-way showdown between do-gooding vigilante David Dunn, Mr. Glass, and the Beast.
Nicolas Cage in The Flash
It is a superhero trend of recent years, but after Marvel got the multiverse adventures rolling with "Doctor Strange in the Multiverse of Madness" and "Spider-Man: No Way Home," DC didn't just try to match them but beat them with 2023's "The Flash." The film sends the Scarlet Speedster across multiple alternate realities and timelines, uniting him with Batman — played by Michael Keaton for the first time since "Batman Returns" in 1992. But that's not all, because "The Flash" is filled with a bevy of blink-and-miss-it cameos that includes archival footage and CGI recreations of the likes of Adam West, Christopher Reeve, and Helen Slater.
However, one of the most clever is the appearance of Nicolas Cage, who finally gets his chance to play the Man of Steel 25 years after he almost starred in the doomed Tim Burton film, "Superman Lives." The closest he ever came to donning the blue and red spandex was in a screen test for the late '90s project, but now fans finally get a proper glimpse of Cage in the role. In a further nod to the hardcore fans, we even see him doing battle with the infamous giant mechanical spider that was said to be at the center of the "Superman Lives" script by Kevin Smith.
The X-Men in Deadpool 2
In 2016, "Deadpool" shocked and delighted audiences with its over-the-top, graphic violence and stunning vulgarity. It also featured X-Men stalwart Colossus (Stefan Kapicic) who tried to convince Ryan Reynolds' titular Merc with a Mouth to join the team of heroes but to no avail. While many fans were probably hoping for more "X-Men" characters to cameo in its sequel, few probably expected it, because of the decidedly adult nature of the series. Nevertheless, the studio successfully kept a major cameo appearance under wraps right up until the movie opened.
This time, it's not just a single actor or character showing up unexpectedly, it's an entire team: James McAvoy, Nicholas Hoult, Evan Peters, Tye Sheridan, Kodi Smit-McPhee, and Alexandra Shipp show up in character as Professor X, Beast, Quicksilver, Cyclops, Nightcrawler, and Storm. The heroes appear in a scene that sees Wade Wilson strolling through Xavier's School for Gifted Youngsters complaining about the lack of X-Men in his movies, seemingly oblivious to the whole team that has just quietly closed a door behind him. While Jennifer Lawrence's Mystique was conspicuously absent, it is nonetheless an impressive feat to have gathered the six actors together — in their superhero costumes no less — for a scene that lasts for a few seconds and features absolutely no dialogue from them.
Samuel L. Jackson in Iron Man
It seems like a lifetime ago now, but when "Iron Man" first hit theaters in 2008, cinematic universes were a far-off dream, and just about everything in the movie felt fresh and new. From the charm of beleaguered actor Robert Downey Jr. to the high-flying visual spectacle of the armored hero himself, audiences were blown away by how inventive the film was on just about every level. Still, there was one cameo in the film that almost nobody expected, and it came — for the first time — after the movie rolled its credits.
A post-credits scene that set a new standard for stingers, the moment sees Samuel L. Jackson make his Marvel debut as super-spy Nick Fury. Emerging from the shadows, he tells Tony Stark that he's not the only superhero in the world, and lays the foundation for the groundbreaking superhero team-up, "The Avengers." Despite leaks suggesting that this cameo was on the cards, Marvel did an excellent job of throwing fans off the scent, tossing out rumors of a cameo from Hilary Swank and omitting the scene in press screenings, helping it remain a true question mark when the film premiered for the masses.
John Krasinski in Doctor Strange in the Multiverse of Madness
Ever since the Marvel Cinematic Universe began, fans have been making their own dream casting decisions for their favorite superheroes. And when Marvel announced that "The Fantastic Four" was getting the reboot treatment under the MCU banner, the most popular choice to play Mr. Fantastic was "The Office" star John Krasinski. Well, Marvel was listening loud and clear, and decided to give fans their dream come true with a cameo from the actor in "Doctor Strange in the Multiverse of Madness."
It wasn't what fans really wanted — as this version of the character was from an alternate timeline — but Krasinski did show up as Mr. Fantastic, leaving fans gasping in their seats at the unexpected sight. Much to their chagrin, however, there was no larger plan for Krasinski to reprise the role in the new "Fantastic Four" film, with another actor apparently being sought to lead that project. But the fact that Marvel decided to pay homage to one of the biggest fan-driven casting rumors in recent memory and make it a reality — even if it was only for a cameo — is something nobody thought could ever happen.
Harry Styles in Eternals
By 2021, Marvel was on a roll with unexpected cameos. From superstar celebs like Matt Damon in pop-up gags to major future teases like Samuel L. Jackson as Nick Fury, the MCU was consistently delivering surprise appearances in each film. In "Eternals," they dropped one of the biggest yet: global music star Harry Styles. The best part is that prior to the movie's release in November 2021, nobody had any idea it was coming.
Based on the cosmic comics of the same name, "Eternals" introduced a team of immortal beings who've lived undetected on Earth for centuries. Each with their own unique superpowers, they come together to confront a race of deadly creatures called the Deviants who have a sinister goal that could spell the end of mankind. With a roster of major stars — including Angelina Jolie, Salma Hayek, Kumail Nanjiani, Brian Tyree Henry, Richard Madden, and Gemma Chan — there wasn't any real need for another superstar. Yet the movie's post-credits scene gave us one, with Harry Styles playing Eros, better known to fans as the superhero Starfox. Though the scene seems to suggest a bigger role for the character, there's been no hint of a future appearance since. Nothing can be ruled out long-term though and Marvel have sprung surprises on us plenty of times before.
Michael B. Jordan in Black Panther: Wakanda Forever
There are many reasons why a cameo can be considered unexpected, but they are particularly head-turning when a character comes back from the grave. This is what happened in "Black Panther: Wakanda Forever," when Michael B. Jordan reprised his role as Erik Killmonger — the villain who previously attempted to take the throne of the secretive African nation. In "Black Panther," he successfully toppled its rightful ruler, Prince T'Challa (Chadwick Boseman), before being killed in the final confrontation by his rival. So it was all the more surprising when he popped up in the sequel.
Following the tragic death of Chadwick Boseman, the sequel pivoted its story, now centering on T'Challa's sister Shuri (Letitia Wright) as she takes on the Black Panther mantle. Forced to confront her own destiny, Shuri finds herself in the Ancestral Plane where the spirits of the dead Wakandan leaders now reside. There, Jordan makes his surprising return as Killmonger, urging Shuri to pursue a violent path of bloody revenge on the enemies of Wakanda. Though it wasn't meant to tease a future for the character, it was still a treat for fans to see him briefly return to the role.
Joe Mangianello in Justice League
The DCEU was built with a grand plan to spawn sequels, spin-offs, and team-up movies. When Ben Affleck was first cast as the Caped Crusader for "Batman v Superman: Dawn of Justice," the original plan was for the star to return in a movie of his own, that Affleck would direct. While a confluence of factors led to that project ultimately being scrapped — and replaced by Matt Reeves' "The Batman" in 2022 — it was originally thought that Affleck would face off against Joe Manganiello as the deadly sharp-shooting assassin, Deathstroke.
To get the ball rolling, director Zack Snyder decided to include the actor in the final post-credits scene of 2017's "Justice League," and it proved to be one of the few genuinely surprising moments in the film. It also sees the eyebrow-raising appearance by Jesse Eisenberg, who re-emerges as a bald-headed Lex Luthor, enlisting the services of the mercenary Deathstroke in an effort to take down Superman and his new gang of super friends.
Sadly, the mixed response to "Justice League" meant a lot of future plans were scrapped, and the scene remains one of the many things teased in the DCEU that we probably won't see followed up on.
Mr. Mind in Shazam
Unexpected cameos are fun enough when they're an award-winning megastar or a beloved fan-favorite character returning after a long absence. But it's something else entirely when it's not just a surprise, but a total head trip. Such was the case at the conclusion of the 2019 film "Shazam." After a rousing, family-friendly superhero adventure that saw Zachary Levi and Mark Strong duking it out as colorful comic book adversaries, a post-credit scene introduced one of the wackiest villains in comic book lore: the evil worm known as Mr. Mind.
During the stunning reveal, the villainous Doctor Sivana sits in a prison cell after his diabolical plans are thwarted by the movie's hero. Through the bars of his cell, Mr. Mind arrives to propose the two team up. This was unexpected enough for fans familiar with the character — who had no idea he'd appear in the film — but for those unfamiliar, imagine their befuddlement when a tiny talking alien worm crawls through the cell bars.
One of the wildest cameos ever in a blockbuster superhero movie, Mr. Mind's appearance drew cheers from fans. But those same excited moviegoers were disappointed when the film's sequel didn't include him as the next big bad — relegating him again to a small post-credits cameo appearance.
Anson Mount in Dr. Strange in the Multiverse of Madness
John Krasinksi's appearance as Mr. Fantastic wasn't the only shocking cameo in "Doctor Strange in the Multiverse of Madness." While the film's trailer gave away a pretty major spoiler — the return of Patrick Stewart as Professor X — Marvel wasn't out of shocking cameos, and the biggest came in the form of Anson Mount as the Inhuman leader Black Bolt.
Mount had played the character on TV once before, in the short-lived 2017 ABC series "The Inhumans." That series was so poorly received by fans, however, that nobody ever expected Marvel to reference it again — preferring to sweep it under the carpet and forget it happened. One of the few shining lights of the series, however, was Mount, who has since moved on to star as Captain Pike in "Star Trek: Discovery" and "Star Trek: Strange New Worlds." When the "Doctor Strange" sequel debuted, further opening up the world of the multiverse, Mount's return to a role he probably once wanted to forget was a huge surprise.
George Clooney in The Flash
When Barry Allen went looking to change the course of history in "The Flash," he needed the help of Batman. First, it was Ben Affleck, then Michael Keaton, but there was still one more version of the Dark Knight that would make an appearance. Following his multiverse adventure, The Flash returns to what he thinks is his own reality — fully restored to the way it was before the events of the film — only to be confronted by a different version of Bruce Wayne. This time, though, it's George Clooney, who played the Caped Crusader in the reviled 1997 movie "Batman & Robin."
Clooney's return is astonishing not just because it was a surprise, but because of how hated his first appearance in the role was. "Batman & Robin" remains the lowest-rated Batman movie, and is regularly ridiculed by fans and critics alike. The fact that the studio would bring the actor back and remind audiences of one of the biggest failures in the character's history is mind-blowing enough. But that Clooney agreed to do it even after admitting how bad his Batman movie was and acknowledging that he destroyed the franchise, takes it to a whole other level.
Robert Downey Jr. in The Incredible Hulk
Following director Ang Lee's ill-fated attempt to bring Hulk to the big screen in 2003, Marvel decided to reboot the character from the ground up. They also decided to use this relaunch as part of their springboard for their new cinematic universe, and "The Incredible Hulk" hit theaters in the summer of 2008. The film attempted a more serious, gritty approach and this time featured Edward Norton as Bruce Banner. Battling with his angry alter ego, Banner goes on the run from General Ross (William Hurt), who has created a monster of his own — the Abomination (Tim Roth) — to defeat him.
Coming mere months after the release of "Iron Man," the film found itself hot on the heels of an unexpected smash sensation. Marvel decided to leverage the overnight popularity of Tony Stark to help bring in viewers to "The Incredible Hulk," and called upon Robert Downey Jr. for one of their patented post-credits scenes. There, Tony Stark arrives to console a recently defeated General Ross and casually tells him they're assembling a team of heroes — not dissimilar to Samuel L. Jackson's appearance at the end of "Iron Man."
Though perhaps intended to tease "The Avengers," Marvel largely ignored it, and even retconned these events with a DVD-exclusive one-shot mini-movie titled "The Consultant" a few years later.
Paul Soles in The Incredible Hulk
Edward Norton wasn't the first actor to play Hulk on screen, with Eric Bana playing him in the 2003 film "Hulk," and Lou Ferrigno starring as Hulk in the beloved '70s TV series. While many may remember Ferrigno's cameo in "Hulk" — where he played a security guard — and in "The Incredible Hulk" where he helped voice the Hulk himself, another Hulk actor showed up in the 2008 film that may have flown under many fans' radar.
Paul Soles shows up in a small role, playing a kindly old man at a pizza shop who helps Norton's Bruce Banner hide from the government. You would be forgiven if you didn't recognize Soles, however, as he was never seen on screen as the Hulk — instead voicing the character in animation. In fact, Soles is the first actor to ever play the role of the Hulk on screen voicing him in the 1966 Saturday morning cartoon, "The Marvel Superheroes." As it stands, his part in "The Incredible Hulk" wound up being the second to last film in his career, as he passed away in 2021.
Hugh Jackman in X-Men: First Class
The first "X-Men" film notably featured the first big screen cameo from Stan Lee in a Marvel movie, where he played a hot dog vendor on the beach. The standout star of the film though was Hugh Jackman, the Aussie newcomer whose turn as Wolverine made him an instant star. Every subsequent "X-Men" film had Jackman at its center, until 2011 when the franchise rebooted with "X-Men: First Class." Still, director Matthew Vaughn found a fun way to include him in the party, in an unexpected cameo of his own.
A film set decades before the first "X-Men" film, "First Class" goes back in time and introduces a whole new cast of characters, as well as some familiar ones now played by younger actors. This includes James McAvoy and Michael Fassbender as Professor Xavier and Eric Lensherr (aka Magneto), who go on a mission to recruit mutants for a new team of heroes.
In a moment few saw coming, Xavier and Lensherr walk into a bar and before they can even utter a question to the surly, cigar-chomping Logan, they're rebuffed with an expletive. Though it's only a momentary cameo — with Jackman delivering just three words of dialogue — it continued his unbroken streak of appearances in "X-Men" films that would continue until "X-Men: Dark Phoenix" in 2019.
Rebecca Romijn in X-Men: First Class
Though many fans still see "X-Men: First Class" as a reboot, it was really more of a prequel — something that allowed them to bring back Hugh Jackman for a cameo as Wolverine rather than recast him. He wasn't the only one though, and perhaps the most surprising was the appearance of the actress who had played Mystique in the first three films, Rebecca Romijn — not just because the movie was set decades earlier, but because new star Jennifer Lawrence was already playing a younger version of the character.
More than just a nod to prior franchise continuity, the cameo comes when Jennifer Lawrence's Mystique attempts to seduce Michael Fassbender's Magneto, which doesn't go over so well. Magneto makes an offhanded remark about her being too young and as quick as you can say "Rebecca Romijn," she morphs into the model-turned-actress who'd already played Mystique for three movies. The transformation lasts only a moment, but it's one of the rare times when Romijn got to play the character in her natural appearance, out of all the blue body paint that the character was known for. She goes uncredited for her appearance, but no fan of the "X-Men" films missed this one, as it paid respect to the star who'd originated the character on film.
Patrick Stewart and Ian McKellan in The Wolverine
After three "X-Men" films it was decidedly clear that Hugh Jackman was the star and the character of Wolverine was the real draw for moviegoers. With that knowledge, Fox decided to ditch the rest of the team and just give the fans what they really wanted: a series of movies all about the sharp-clawed hero. Though the first, "X-Men Origins: Wolverine" wasn't so well-received, its sequels were a step up, and for "The Wolverine" in 2013, the studio decided to use the film to help set up a new "X-Men" sequel themselves. To do it, they surprised audiences with an appearance from both Patrick Stewart and Ian McKellan.
Back in the roles of Professor X and Magneto, the two acclaimed actors return in the film's post-credits scene, where Logan is in an airport preparing to go through a metal detector. There, he is confronted by Magneto, who wants Logan's help to face a dangerous new threat. Untrusting, Logan is surprised when he turns around to see that the villain is accompanied by none other than Professor X, who convinces him to join their cause. But no one was as surprised as the audience, who had no idea the solo "Wolverine" sequel would end with a lead-in to the 2014 blockbuster, "X-Men: Days of Future Past."
Howard the Duck in Guardians of the Galaxy
One of the greatest cameos that Marvel ever pulled off was a "fowl-mouthed" Easter egg for fans courtesy of writer-director James Gunn, who made his blockbuster movie debut on "The Guardians of the Galaxy" in 2014. At the end of the credits, we're taken back to the rubble of The Collector's (Benicio Del Toro) domain. Previously a veritable treasure trove of Easter eggs, much of his precious collection is ruined, but one prized specimen decides to stick around and get in a few quips: Howard the Duck.
The infamous mallard was last seen in 1986's "Howard the Duck," which is widely regarded as one of the worst comic book movies ever made. The idea of a wise-cracking space duck never really resonated with audiences, though the character in the comics has always been a cult favorite among a certain segment of the fanbase. James Gunn was apparently one of those fans because his decision to include Howard (voiced by comedian Seth Green) was a delightful acknowledgment of Marvel's strange history and just how weird the comics can get. And what better place to include him than in the movie with the violent raccoon and the talking tree? Oddly enough, Howard would pop up again with further cameos in both "Guardians of the Galaxy" sequels, "Avengers: Endgame," and an episode of the animated Disney+ series, "What If...?"
Noel Neill in Superman Returns
Created in 1938, Superman may have the longest history of any superhero on screen, with his first appearance coming in the early 1940s in the form of the iconic Fleischer studio cartoons. He'd enter live-action in 1948, in a series of movie serials starring Kirk Alyn, and has since been played by the likes of George Reeves, Christopher Reeve, Brandon Routh, Tom Welling, Henry Cavill, Tyler Hoechlin, and David Corenswet. This long and storied history has allowed past actors to cameo from time to time, and in 2006's "Superman Returns," longtime fans spotted a big one.
At the beginning of the film, we're introduced not just to Lex Luthor (played here by Kevin Spacey), but also the wealthy widow he married and conned out of her fortune. The woman is only seen for a moment, but a true Superman fanatic may have recognized her face. That's because Luthor's wife is played by none other than Noel Neill, who starred opposite Kirk Alyn as the original Lois Lane in the '40s. While still surprising to see her again here, "Superman Returns" wasn't her first cameo. She also appeared as Lois Lane's mother Ella in 1978's "Superman: The Motion Picture" and she even showed up in the "Superboy" TV series in the late '80s.
Garret Morris in Ant-Man
In 2015, Marvel Studios released "Ant-Man," a new franchise addition to the MCU starring Paul Rudd as miniaturized hero, Scott Lang. Considering how obscure the character had been in terms of his cultural impact to that point, you might be surprised to learn that the 2015 film wasn't the first time the hero had been seen on screen. Unofficially, he also made a brief TV appearance back in the late '70s, and the MCU movie pays tribute to this with a cameo from the actor who'd played the part of the incredible shrinking hero. If you're still scratching your head, think way back to 1979, when the entertainment show "Saturday Night Live" featured a sketch called "Superhero Party."
In it, Superman and Lois Lane host a cocktail party with guests ranging from The Flash and Hulk to Spider-Man and the Invisible Woman, all played by various SNL cast members. Right there among the more famous comic characters at the party, was Ant-Man — played by original series star Garrett Morris. Audiences may have forgotten the first live-action appearance of Ant-Man, but director Peyton Reed didn't, and he cast Morris in the role of a confused cab driver, whose car gets landed on by Lang as he's testing out his superhero suit. For such a small hero, that cameo pays some huge respect to technically the world's first Ant-Man.