Fight or Flight
★ ★ ★
Fight or Flight is a messy, stylish, surprisingly fun action flick that reminds us just how watchable Josh Hartnett can be when he’s given the right role. He plays Lucas Reyes, a former CIA operative now living in Bangkok, drinking away his regrets and dodging street gangs. He’s burned out – literally and professionally – thanks to his ex, CIA Director Katherine Brunt (Katee Sackhoff), who torched his identity and left him grounded. Both metaphorically and in every airline database on Earth.
When Katherine stumbles onto the location of a notorious terrorist called “The Ghost,” she’s got a problem: the target is about to board a flight to San Francisco, and her closest team is an hour away. With no time to spare, she turns to Lucas, promising to clear his name if he boards the plane and identifies The Ghost. He must also keep the target alive until they land.

JuJu Chan Szeto, Josh Hartnett and Charithra Chanran
© 2025 Vertical
The hook is high-concept: a plane full of hired killers, one target, and a reluctant ex-agent who just wants to be left alone. Lucas has to fight his way through the fuselage – literally – using anything he can find – including a chainsaw.
It’s absurd. And it mostly works.
He gets backup from two flight attendants, Isha (Charithra Chandran) and Royce (Danny Ashok), who thankfully are more than just comic relief. Meanwhile, Katherine and her black-ops crew might be the most spectacularly inept onscreen intelligence team in recent years. Sackhoff plays it straight, but you’re left wondering how she ever moved up the CIA ranks.
Tonally, Fight or Flight doesn’t just shift lanes – it swerves across genres with reckless glee. One minute, it has Bourne-style gravitas, and the next leans heavy into Kill Bill territory, complete with stylized blood sprays and bone-crunching brawls. It doesn’t always gel, and you can feel the strained balance. But when it clicks, it really clicks.

JuJu Chan Szeto as Master Lian
© 2025 Vertical
Hartnett carries the film with deadpan charm and physical presence. He’s got a kind of Indiana Jones vibe going – grumpy, bruised and annoyed to even be part of this – but when the fists start flying, he turns into a one-man wrecking crew. His chemistry with Chandran is a major plus, adding a bit of spark to the chaos.
Fight or Flight seems like a film that takes place in a parallel universe where 9/11 never happened. Though decades removed from the worst terrorist attack on U.S. soil, those of us who remember where we were that day might still feel a twinge of guilt watching such a violent, cartoonish rampage unfold midair. Passengers are collateral cannon fodder, and such reckless abandon still echoes a bit of cinematic irresponsibility.

Charithra Chandran as Isha
© 2025 Vertical
It doesn’t need to reinvent the genre – though it tries hard. It’s fast, fun and more self-aware than it looks. Even when it stumbles, it gets back on its feet swinging. Hartnett’s performance alone is worth the price of admission.
Just don’t expect realism. Or logic. Or anyone who’s ever passed a background check.
Rated: R for strong bloody violence, language throughout and some drug material.
Running Time: 1h 42m
Directed by: James Madigan
Written by: Brooks McLaren, D.J. Cotrona
Starring: Josh Hartnett, Katee Sackhoff, Charithra Chandran, Julian Kostov, Danny Ashok, Mark Zaror, JuJu Chan Szeto
Action, Comedy