A couple of Russian thugs come into a man's home and quietly take him away from his wife. The man is brought before a Russian mob boss, Oleg Malankov (Sam Spruell), who demands that the man opens the safe in the room they're standing in. The safe is opened, but it's empty. Malankov calls his employer and tells him there is nothing in the safe, but he will leave him something else. Malankov shoots the man dead.
Meanwhile, Bryan Mills (Liam Neeson) buys a giant panda bear for his daughter Kim's (Maggie Grace) birthday. At home, Kim holds up a pregnancy test and looks at it worriedly. Bryan shows up with the panda, followed moments later by Kim's boyfriend Jamie (Jonny Weston). Kim comments that Bryan is predictable, while Jamie says Kim is as well, since she follows the same routine and goes to the convenience store to get the exact same orange smoothie drink from the exact same position. Bryan departs and takes the panda with him, even though Kim admits to feeling a bit bad about not wanting it. After he leaves, Bryan talks to his ex-wife Lenore (Famke Janssen) on the phone about Kim. He invites her over to dinner but she declines.
Lennie surprises Bryan by showing up at his place while he's making dinner. She tells him that she's not very happy at home with her husband Stuart (Dougray Scott). She makes a pass at Bryan by kissing him. However, he knows this would be inappropriate and he politely turns down Lennie's advances.
During a game of golf with his friends, Bryan gets a call from Kim and she invites him to meet with her at a diner. She prepares to tell him about her pregnancy when they see a bratty child making a fuss at another table. Kim gets nervous and tells Bryan she wants his advice on whether or not she should get a puppy.
Bryan is visited by Stuart, who thinks that in order for his marriage with Lennie to work, Bryan needs to be out of the picture and that he should stop seeing her socially. Bryan assures Stuart that they're only friends and that there is nothing going on between them.
Bryan gets a text from Lennie asking him to meet her at his apartment for some bagels. Bryan gets the bagels and returns to find a knife on the floor. He goes in the bedroom and sees Lenore lying dead on the bed with her throat slashes. As Bryan recoils in horror, two policemen burst in with guns pointed at Bryan. They prepare to handcuff him when Bryan ends up cuffing both of them. He jumps out the window as he hears more cops coming. They chase him through the streets until he runs into a garage and escapes through a hatch door into the river and out to the basin.
Bryan calls Kim from a payphone while she is at Lennie's home looking for a sweater. He breaks the news to Kim about her mother's murder and that he is now being framed. He tells her to stay safe and that he will protect her. Kim steps back in shock and sits down to cry.
Hot on Bryan's trail is Inspector Franck Dotzler (Forest Whitaker). He and his men investigate the crime scene and also visit Stuart and Lennie's home. Stuart returns immediately from a business trip. He is brought in to identify Lennie's body at the morgue. He breaks down and tells Dotzler about Bryan's past.
Bryan sneaks into the morgue and finds Lennie's body. He solemnly touches her face and collects a hair sample.
The cops inspect the parking garage where Lennie left her car. Bryan gets a scan on the car's GPS and sees that Lennie went to the gas station prior to her death. He goes to the gas station and sneaks into the security room to play a video. He sees footage of Lennie being snatched by a masked man and thrown into a van. One of the men has a star-like tattoo on his hand. Two detectives stop at the same gas station and learn that Bryan was there. They find him in the security room and arrest him. Bryan goes in calmly.
The detectives inform Dotzler of their arrest of Bryan, but, since Dotzler has just followed up on Bryan's past, he knows that Bryan is setting them up. In the backseat of the police cruiser, Bryan carefully uncuffs himself and knocks out one cop while forcing the other to keep driving. The detectives chase Bryan as he takes control of the cruiser. This leads them through a garage where the cruiser ends up falling down an elevator shaft. The car explodes, but Bryan escapes. Dotzler talks to Bryan on the phone and tells him to stand down since everyone is going to be looking for him. Bryan responds, "Good luck."
Bryan visits his friend Sam (Leland Orser), to whom he gave the sample to and also informs him of what happened to Lenore. Sam stands by Bryan and is willing to help him. He tells Sam he wants to go to the funeral.
Lenore's funeral takes place, with everyone going to console Kim and Stuart. Sam goes over to Kim and tells her to follow her "predictable schedule." He motions to the button on his lapel, which is a hidden camera. Kim knows her dad is watching and she smiles.
Kim leaves Stuart's home when she sees that he kept too many guards around. One detective follows Kim as she goes to the convenience store to get her smoothie drink. She finds the one she wants and finds a note on it that says "Drink me now". She drinks it all in one standing. She then goes to school and feels nauseous during class. She goes to the bathroom and is pulled into a stall by Bryan. They embrace and he gives her a serum to counter what he put in the drink to make her nauseous. Kim comes clean about the pregnancy. With little time, Bryan tells Kim he'll find the real culprits right before the detectives burst in. Bryan is already gone by then.
While driving away, Bryan is pursued by some Russian thugs. They run him off the road, causing his car to explode. One goon comments on going to get drunk. Bryan gets a man to let him drive his car to follow the goons to the liquor store. Bryan beats the thugs all around the store until they are all knocked out, save for one last man - the man with the tattoo on his hand. Bryan takes him down and orders him to tell him who sent him. The man says he would rather die than tell, so he grabs Bryan's gun, puts it in his mouth, and pulls the trigger.
Bryan locates Stuart, who retreated to a beach house. He knows Stuart sent the thugs, and Bryan takes Stuart to another area and waterboards him for information. Stuart was involved in a bad business deal with Oleg Malankov, and Lennie unfortunately became a victim of his when Stuart failed to return the man his money. He was merely counting on Bryan to find out about the situation and to utilize his killing skills to make the problem disappear. Stuart also tells Bryan that Malankov is a trained killer that joined the army and Special Forces, and that he is just as good at killing as Bryan. Together, with Kim, Sam, and other friends of Bryan's, they have Stuart set up a meeting with Malankov. Malankov arranges for them to meet at a building downtown.
Bryan gets his opening to run through the building, beating up and killing all of Malankov's goons before finding the man himself in his apartment. The two fight each other, with Malankov nearly shooting Bryan, until Bryan takes the gun from him and shoots him twice. Bryan approaches Malankov to deliver the final shot, until Malankov says they were played by the same man - Stuart. Bryan leaves Malankov to die slowly.
In Sam's van, Kim sees some texts from Lenore's phone that mention going to a specific location. She texts Bryan and then tries to contact him on his earpiece. Stuart knows what's happening, so he grabs Kim and shoots Sam in the neck. Stuart flees with Kim. The cops find the van with Sam unconscious but alive.
Bryan realizes Kim is in trouble and he hijacks a car to go after her and Stuart. He tracks her location and sees she's headed for the airport. The cops track Bryan and follow him. At the airport, Stuart gets his private plane ready to take off with him and Kim. The pilots begin to steer the plane off the tarmac when Bryan drives over quickly and plows through the wheels, taking the plane down. Stuart emerges from the plane with Kim at gunpoint. She manages to escape him, leaving him to Bryan. Bryan puts together just how Stuart tried to get away with Lenore's murder while beating the man senseless. Before Bryan can kill Stuart, they hear the police sirens getting closer. Stuart says Bryan can't kill him now, and when Bryan tries to prove him wrong, he looks over to Kim, who shakes her head and urges him not to. Bryan figures that Stuart will probably get a good lawyer and be out of jail in a few years, and that's when Bryan will get him. He knocks Stuart out and leaves him to get arrested.
Bryan meets with Dotzler in his office. Dotzler says he knew Bryan was innocent because he found the bagels in his apartment, and they were still warm. By that logic, he couldn't have bought bagels and then committed murder. They part ways, and Dotlzer closes Bryan's files.
Bryan joins Kim and Jamie on the pier. He supports the two of them as they expect their child. Kim says that if it's a girl, they will name her after Lenore. Bryan agrees with that choice.