Michael MacCauley (Liam Neeson) is a former cop/recently fired life insurance salesman who meets a mysterious woman, Joanna (Vera Farmiga), on his train ride home. She tricks Michael into accepting a bribe so that he may identify a witness on the train, "Prynne", who saw a murder and is carrying valuable information. Joanna's employers want the witness dead, and she blackmails Michael into finding Prynne, or else his wife and son will be hurt.
Joanna's people kill two passengers while Michael scrambles to find Prynne. At the end of the ride, he finds that a young woman, Sofia (Ella-Rae Smith), is Prynne, and that she witnessed officers killing her friend, a city planner. When Michael refuses to give her up, Joanna's people derail the train, but Michael manages to save the remaining passengers.
Michael learns that his friend and former partner, Alex Murphy, is in on the conspiracy. After a fight, Michael gets the police to shoot Murphy dead. The police arrest men attempting to harm Michael's wife and son, and they are reunited.
Michael rejoins the police force and finds Joanna, and it's implied he will arrest her.