Skip to content
Philly’s Best Movies | Sponsored by Xfinity
Link copied to clipboard

Every M. Night Shyamalan movie, ranked

From 'The Village,' to 'The Sixth Sense,' and 'Knock at the Cabin' — did your favorite M. Night Shyamalan film get the ranking it deserves?

M. Night Shyamalan, the filmmaker who grew up in Wynnewood and lives in Willistown Township, directs James McAvoy in 'Split'
M. Night Shyamalan, the filmmaker who grew up in Wynnewood and lives in Willistown Township, directs James McAvoy in 'Split'Read moreJohn Baer/ Universal Studios

For Philadelphians, perhaps there is no director more divisive than M. Night Shyamalan, the horror filmmaker who grew up in Wynnewood and lives in Willistown Township. Some of us love him (The Sixth Sense ranked third on our Best Philly Movies list), but others haven’t forgiven him for whitewashing The Last Airbender. But regardless of how Philly feels about Shyamalan, it’s clear that he loves the city and this region, since the majority of his work has been filmed and set here.

Whether you’re a diehard fan or a frustrated hater, Shyamalan is arguably the most famous Philly filmmaker. Incorporating feedback from Inquirer staffers, we took a look back through his career to revisit the twist endings, jump scares, big reveals, and even bigger disappointments over the last couple decades. (Spoilers ahead!)

15. ‘After Earth’ (2013)

Humanity no longer calls Earth home in this universe, but Jaden Smith calls Will Smith dad in an uneven accent. The father is a fearless fighter in a literal sense because he can hide from the space monsters that hunt humans by smelling their fear-omones; the son is a cadet trying to prove himself. When they crash land on the now-contaminated Earth, dad breaks his legs and son has to traverse many miles to the tail of the ship, which holds their distress beacon. For its big budget and slick wrapping, this perilous journey is a forgettable, cliché snooze. It felt easier to root for the kid to fail than actually care about whether he’d overcome his fears and make pop proud. (Predictably, he does.)

14. ‘Praying with Anger’ (1992)

Shyamalan’s debut, a low-budget semiautobiographical film that he self-financed while a student at NYU, would probably be at No. 15, but a young debutante filmmaker deserves our grace. An Americanized Indian kid studies abroad in India and works through culture shock, anger management, and grief over his father’s death. Foreshadowing a career of acting in his own movies, the director stars in this slow-moving, almost anthropological exploration of cultural differences geared toward white, mainstream audiences in the U.S. The film’s sepia world is rife with stereotypes and reductive observations: “Indians are the most passionate people. When they’re praying, they’re devout. When they’re angry, they’re furious.” Still, some cleverness sprouts as he lays the foundations for signature motifs in his subsequent work — faith, violence, family, and ghosts.

13. ‘Lady in the Water’ (2006)

It’s not meant to be a comedy, but the film sure feels like a parody: Nymphs called Narfs need to reconnect with humans, but they’re chased by Scrunts, scary green wolflike creatures, even though the fantasy law enforcement body, the Tartutic, should stop them. Bryce Dallas Howard plays Story, a once-in-a-generation Madam Narf, who has to be seen by some man before she can be free, a process that somehow also involves an eagle. Shyamalan plays a writer, the chosen man, because he’s penning a book that will influence a future president, but also get him killed for his political beliefs. Paul Giamatti carries the film (impressive given the sprawling, goofy script) as the stuttering superintendent trying to solve the puzzle. He’s the only reason the film is not dead last. (The film has its fans: some of my Inquirer colleagues called it “underrated.”)

12. ‘The Last Airbender’ (2010)

Understandably called Shyamalan’s worst by some Inquirer staff, Shyamalan’s widely panned live-action adaptation of the beloved cartoon Avatar: The Last Airbender departs from the rich original in ways that make little sense, and even the elaborate sets and fight scenes can’t salvage the botched storytelling and paltry acting. The baffling choice to cast white actors in the main roles for Aang (the East Asian monk who controls all four elements) and his pals Sokka and Katara (based on Indigenous Arctic communities like the Inuit), while South Asian actors played the villainous Fire Nation left fans yearning for better representation. The show’s inherent playfulness was stripped for dull seriousness with little depth despite themes — like children’s trauma, fear, and grief — that the director has expertly handled before. (Netflix’s recently released live-action series notably differs.)

11. ‘Wide Awake’ (1998)

Between his student film Praying with Anger and his blockbuster The Sixth Sense, Shyamalan wrote and directed a kooky family comedy. It’s a heartwarming look at a Catholic schoolkid’s quest to find God after his dear grandpa dies. Rosie O’Donnell plays a Phillies-obsessed nun at Waldron Mercy Academy, Shyamalan’s old school where he partially filmed, who tries to help Joshua (Joseph Cross) as he tries various methods to ask God if grandpa’s alright. There are sweet moments and plenty of laughs until Josh’s resolve shakes. The final reveal is touching, if a bit saccharine: God was there all along, and Josh gets the reassurance he needed.

10. ‘Glass’ (2019)

The last installment of Shyamalan’s cerebral superhero trilogy — Unbreakable (2000), Split (2016), and Glass — falls flat. There was so much potential in finally uniting the mastermind Mr. Glass (Samuel L. Jackson), the hero David Dunn (Bruce Willis), and the evil Horde (James McAvoy playing 24 different personalities) after a 19-year buildup , but the plot gets unwieldy. All three are captured by a doctor (Sarah Paulson) who calls them delusional. When they escape from the institution — a transformed Allentown State Hospital — the promised-to-be-epic showdown between good and bad doesn’t even leave the parking lot. The strongman drowns in a puddle, the genius shatters for the last time, and the villain is shot as his victim (Anya Taylor-Joy) comforts him in a warped, Stockholm-syndrome relationship.

9. ‘The Visit’ (2015)

Old people are scary. That’s the basic premise for this horror flick set in the Philly suburbs, where a single mom (Kathryn Hahn) sends her kids to stay with her estranged parents, to whom she hasn’t spoken in decades. Pop Pop (Peter McRobbie) and Nana (Deanna Dunagan)’s creepy antics seem harmless, but soon devolve into unhinged, occasionally naked, outbursts. Still processing trauma from their parents’ split, the terrified siblings (Olivia DeJonge and Ed Oxenbould) capture all the weirdness on camera. Everything becomes clear when Hahn delivers the scariest line as calmly as she can: “Those are not your grandparents.” It’s chilling, tense, and disturbing — but don’t worry, the kids get out of there alive.

8. ‘The Happening’ (2008)

Hundreds of people suddenly begin killing themselves in Rittenhouse Square Park one sunny day. Mass suicides are reported throughout the Northeast in what’s considered a biological terrorist attack, leading a high school science teacher Elliot (Mark Wahlberg), his wife Alma (Zooey Deschanel), best friend Julian (John Leguizamo), and his daughter (Ashlyn Sanchez) to escape the city on Amtrak. But the train crew loses contact with everyone. They split up and try to find somewhere safe, but by the time the couple gives up hope and is ready to die together — the little girl’s future be damned — the air is no longer toxic. Months later, Alma is pregnant because nothing says I survived a near-apocalypse like fixing your marriage with a baby.

» READ MORE: ‘Rocky’, and the 49 other best Philly movies

7. ‘Knock at the Cabin’ (2023)

Shyamalan’s latest psychological thriller, based on a Paul Tremblay novel, is a slow burn that questions our sense of reality. Four armed strangers break into a cabin rental in rural Pennsylvania where two dads (Lancaster native Jonathan Groff and Ben Aldridge) are vacationing with their adopted daughter Wen (Kristen Cui). The family faces an unbelievable dilemma: save humanity by sacrificing one of the three, or watch the world end, supposedly. Touching performances from a solid cast make it work, though the emotional ending falls into the bury your gays trope.

6. ‘Split’ (2016)

“We look at people who have been shattered and different as less than. What if they’re more than us?” posits a therapist who studies dissociative identity disorder. Her patient is Philadelphia Zoo employee Kevin Wendell Crumb (James McAvoy) and his various identities, like the 9-year-old Hedwig and flamboyant fashion designer Barry. McAvoy’s compelling, precise transformations align with that theory, especially when the Horde, a rogue group, takes charge of Kevin and abducts three teens (including a then-unknown Anya Taylor-Joy) who will be sacrificed to a still-unseen new identity, the superhuman Beast. It’s thrilling to watch McAvoy pivot at any given moment — and even more exciting when a final scene connects the story to the Unbreakable universe.

5. ‘Old’ (2021)

Families at a wellness resort enjoy a private beach, but tranquillity becomes terror when they begin rapidly aging. Some parts veer into absurdity, but Shyamalan’s camera provides stomach-churning tension as the most vulnerable — two 6-year-olds and a tween — experience sudden puberty and even an ill-fated pregnancy. (Notably, no one talks about periods, although by movie math they’d be experiencing 24 every hour.) The body count rises until there’s just two siblings left, and they miraculously escape, discover the twist, and expose the villains. It’s a return to Shyamalan form with a smart reveal that doubles as a social critique.

4. ‘The Village’ (2004)

In a remote, bucolic valley lies a village thriving in isolation. Gripped by fear of the scary beasts in the surrounding woods, the villagers never leave their borders. Things go awry when youths provoke the beasts and enter the forbidden woods. Amid the chaos, Ivy (Bryce Dallas Howard) and Lucius (Joaquin Phoenix) fall in love, and the latter asks the elders permission to visit “the towns” to retrieve advanced medicines. Once Noah (Adrien Brody), an unpredictable man with a developmental disability, learns of their coupling, he stabs Lucius in confused jealousy. Ivy, who’s blind, resolves to brave the journey herself to save her betrothed. There is the revealing of a maddening truth about Ivy’s father (William Hurt), and there are some annoyingly unanswered questions by the end. But The Village remains one of Shyamalan’s best works.

3. ‘Signs’ (2002)

Aliens have arrived, and they do not come in peace. Crop circles and UFOs suddenly appear around the world, including in former priest Graham Hess (Mel Gibson)’s Doylestown cornfield. The stellar ensemble cast (Joaquin Phoenix, Abigail Breslin, and Rory Culkin) provides a genuine portrayal of how a family struggles to survive under extraordinary circumstances with moments of grief and levity. There’s tension built into every door creak and wind chime as they try to make sense of the incomprehensible. It’s an exhilarating watch, even if the visual effects don’t hold up today, and the finale falters in its odd reveal. The Hess family overcomes, and dad, with faith restored, goes back to being Father. Shyamalan excels in taking what could have been a silly premise and making it feel chillingly real.

2. ‘Unbreakable’ (2000)

Shyamalan’s grounded take on a superhero story is riveting from start to finish. Security guard David Dunn (Bruce Willis) is the sole survivor of a catastrophic train derailment, and comic book collector Elijah Price (Samuel L. Jackson) says he knows why. Seeing comics as true tales of humanity’s superpowers, Price insists that Dunn is special even though the reluctant, quiet dad barely believes it himself. His son (Spencer Treat Clark) is so convinced that, in one astonishing scene, he points a gun at Dunn to prove it. The truth is almost incidental when Dunn realizes it was Price (a.k.a. Mr. Glass) who derailed the train and orchestrated terrorist attacks in his restless search for a hero — truly a gasp-worthy moment. The film is gut-wrenching, surprising, and unforgettable.

1. ‘The Sixth Sense’ (1999)

This ranking does not have a twist ending: It comes as no surprise that this film is Shyamalan’s greatest. Precise performances, remarkable scares, and a whopping reveal cemented this superb thriller as an undeniable classic that earned six Oscar nods, including best picture, best original screenplay, and best director. (In signature Philly fashion, he didn’t win, but he should have.) Child psychologist Malcolm Crowe (Bruce Willis) treats Cole Sear (Haley Joel Osment), who says the still-iconic line: “I see dead people.” Ghosts are everywhere, blurring the line of reality and leading the kid into dangerous situations as Crowe struggles to help and worries about his own marriage. It’s a master class in storytelling that soars beyond predictable ghost narratives with cinematography that renders even the most mundane shots terrifying. The film is Shyamalan’s crowning achievement and a love letter to Philly’s beauty. One Inquirer colleague remembered watching the production filming in Spring Garden and enjoyed seeing the city through Shyamalan’s lens, writing: “We are lucky to have him.”


Check our list of “Rocky” and the 49 other best Philly movies, and don’t forget to play our Philly Movies game.