The Carry-On movie opens with a chilling prologue set in the pre-dawn hours of Christmas Eve. A man known only as the Traveler, played by Jason Bateman, visits a snowy Christmas tree farm owned by Russian mobsters. During an eerie exchange, he hands over cash to the mob boss, Olek, who immediately starts coughing up blood after touching it—revealing it’s been laced with poison. The Traveler then executes Olek’s nephew, Yuri, and burns the entire place to the ground, establishing himself as someone with a lethal plan already in motion.
At LAX, TSA agent Ethan Kopek (Taron Egerton) starts his day with his pregnant girlfriend Nora (Sofia Carson), who encourages him to consider reapplying to the police academy after failing to make the cut. Ethan’s workday begins with a failed request for a promotion from his boss, Sarkowski (Dean Norris), who criticizes his lack of initiative. Hoping to prove himself, Ethan is sent to work the scanners.
Meanwhile, the Traveler is tracking another TSA agent—Ethan’s friend Jason Noble (Sinqua Walls)—and even stalks Jason’s wife and kids through surveillance with the help of his right-hand man, the Watcher (Theo Rossi). But when plans change and Ethan ends up at the scanners instead of Jason, the Traveler quickly pivots. He sends an operative to break into Ethan’s home and kidnaps a man named Jesse (Adam Stephenson), using him as leverage.
Everything starts to spiral when a mysterious blue-haired woman slips Ethan an earbud, followed by a message instructing him to wear it. The voice of the Traveler comes through, revealing that Ethan is now part of his plan. Ethan initially thinks it’s a prank until the Traveler threatens Nora’s life, forcing him to comply. He has Ethan allow a carry-on item to pass through security unchecked. The tension ramps up as Ethan realizes he’s being watched and manipulated every step of the way.
Detective Elena Cole (Danielle Deadwyler) is drawn into the case after discovering a bugged watch at the crime scene. Working with her tech-savvy partner Herschel (Josh Brener), she decodes fragments of a message referencing a deadly nerve agent—Novichok—which soon connects to the chaos unfolding at LAX.
Back at the airport, Ethan tries to resist the Traveler’s orders. He attempts to alert a coworker, Lionel, using invisible ink, but when Lionel reads the warning, the Traveler immediately retaliates, killing him on the spot. Guilt weighs heavily on Ethan, especially when the Traveler taunts him, revealing that Jason had been the original target—and if Ethan hadn’t been on shift, Jason’s entire family would’ve been killed.
Trying to regain control, Ethan slyly plants liquor next to Jason, triggering his removal from duty and giving the Traveler a way to push Ethan even deeper into his trap. Then comes the arrival of Mateo Flores (Tonatiuh), the man tasked with smuggling the Novichok through airport security. Ethan identifies the threat in Mateo’s luggage but lets it pass, vomiting afterward from the sheer stress. In a private confrontation, the Traveler confirms that the gas is intended for use on a flight carrying 250 people. He promises Ethan and Nora safety—but only if Ethan cooperates until the plane takes off.
The situation escalates as Homeland Security agent John Alcott (Logan Marshall-Green) joins Elena’s investigation—though it later turns out he’s an imposter named Ryan Mercer, the same man who had been surveilling Ethan. After Mercer’s true identity is revealed, he and Elena fight in a car crash; she ultimately kills him and races to the airport.
Back at LAX, Ethan discreetly adds Mateo to the TSA’s search list, hoping to stop the plan. But the Traveler is one step ahead. When Ethan tries to get Nora out of harm’s way, a sniper—the Watcher—targets her from a nearby van, forcing Ethan to walk away in silence. A brutal fight breaks out between Ethan and the Traveler in a bathroom, where Ethan manages to disarm him. But the Traveler activates a hidden bomb with just ten minutes on the clock, intending to level the entire airport.
Ethan runs to where Mateo is being searched. The Traveler demands that Ethan shoot Sarkowski, but Ethan refuses. Mateo ends up killing Sarkowski himself. In a surprising turn, Mateo reveals he’s only doing this because Jesse—his husband—is being held hostage. With only seconds to spare, Ethan manages to disarm the bomb thanks to Mateo’s help.
Elena learns the real Alcott is en route, and Herschel confirms that the true target is Congresswoman Grace Turner, a politician who had opposed a bill benefiting private contractors. The entire scheme—including the attack on the Russian mob—was orchestrated to frame them for the planned gas attack, ensuring the bill passes. It’s political manipulation wrapped in terrorism.
Ethan and Nora trace the flagged luggage, but they realize that stopping the flight won’t prevent disaster—the Traveler could trigger another explosion remotely. Ethan boards the plane’s cargo hold in secret. As the plane takes off, the Traveler prepares his escape with help from the same blue-haired woman. Ethan successfully disarms the bomb mid-flight, but the Traveler receives a notification and confronts him in the cargo hold. In their final fight, Ethan reveals he removed the canister containing the nerve agent and shoves the Traveler into a vacuum-sealed container with the gas, killing him in agony.
The pilots return to LAX. Elena lets Ethan walk free, recognizing what he’s done to save everyone.
In the aftermath, Ethan and Nora are shown with their newborn baby, enjoying a peaceful life. He’s reconciled with Jason, and both families are finally headed to Tahiti—a dream Nora had always held onto. In one final gesture of closure, Ethan stands up for a fellow TSA agent before passing through the scanner and tossing his LAPD badge inside, symbolizing that he’s finally found his purpose.
Leave a Reply