Jimmy Conlon (Liam Neeson) is lying on the ground with a gunshot wound in his stomach. We hear his voice saying that your life doesn't flash before your eyes when you die, but rather all the regrets and mistakes you've made. In the distance, Jimmy's son Mike (Joel Kinnaman) is yelling and evading gunfire.
Sixteen hours earlier, Jimmy was in a bar. He goes to the basement to find Danny Maguire (Boyd Holbrook), the son of Jimmy's former employer Shawn (Ed Harris), making a deal with some dirty NYPD cops. Jimmy asks Danny for a loan of $800 since his heater is broken. Danny will only give Jimmy the money if he goes to his home as Santa Claus since his last guy canceled. Jimmy reluctantly agrees.
Mike works at a gym where he mentors young boys without fathers. One of his closest students is a boy nicknamed Legs (Aubrey Joseph). Mike lives at home with his wife Gabriela (Genesis Rodriguez) and their daughters Catelyn (Guilia Cicciari) and Lily (Carrington Meyer). The couple is also expecting their third child. Gabriela is making a collage for the baby to see what the family's life was before he is born. Mike notices Gabriela put a picture of him as a child with Jimmy. He doesn't want the picture there and obscures his father with a picture of his daughter.
Danny meets his father with some Albanians to push a special brand of heroin. Shawn rejects them, to Danny's displeasure. The Albanians tells Danny they'll be at his place to collect the money they gave him to convince his dad to push their heroin. Shawn wants no part of his old lifestyle, which is something that Danny doesn't get. Shawn wonders at what point did his son go wrong.
Jimmy does the Santa gig at Shawn's house, only he is drunk and making an ass of himself by hitting on one man's wife. He then burns his hand near the fireplace and swears in front of the kids. Shawn joins Jimmy upstairs as he cools off. They have been friends since youth, and Jimmy was once an enforcer for Shawn. The two share a cigarette.
Jimmy is at a diner when he is met by Detective John Harding (Vincent D'Onofrio) and his partner Detective Torres (James Martinez). Harding knows of Jimmy's past and the fact that he's gotten off scot-free from killing for Shawn due to several cops being on Shawn's payroll. He tells Torres that Jimmy was known as "Jimmy The Gravedigger". Harding gives Jimmy his card in case he ever needs to call him, or specifically confess for his crimes.
Mike, moonlighting as a limo driver, takes the Albanians to Danny's home. As he waits outside, Mike sees Legs riding his bike alone. He tells him to go home or he'll tell his mother. He offers to give Legs a ride home. Meanwhile, inside the house, Danny gives the Albanians a bag of Monopoly money as a joke. The head Albanian threatens Danny, but he responds by shooting him dead and then shooting at his partner. The partner runs outside limping. Legs catches them on video as Danny shoots the man dead. Mike starts the car, but Danny breaks the window open and pulls him out. He forces Mike into his home, when Legs leaves the car. Danny hears the door close, distracting him long enough for Mike to strike Danny. He fights Danny and Danny's friend until he escapes, leaving his wallet behind.
Mike runs home and calls Gabriela, who is at her brother Ricky's (Dan Domingues) house with the girls. He tells her to stay there until he calls her back. Mike then hears a pounding sound at the door. It's Jimmy, who got a call about an incident involving Mike. He hasn't been to Mike's home since his wife's funeral. Jimmy goes outside to have a smoke, just as Danny comes into the house. Mike notices him, and Danny approaches him with his gun aimed at Mike. A gunshot goes off, but it's from Jimmy after shooting Danny in the neck. Mike puts pressure on the wound, but Danny dies. Jimmy leaves, and Mike calls the cops, saying his father shot Danny in self-defense. Jimmy then calls Shawn and confesses to what he just had to do. Shawn goes to break the news to his wife, who slaps Shawn in response and then falls to pieces.
The dirty cops that met with Danny earlier go to Mike's house and arrest him when they identify Danny's body. Jimmy chases after them through the streets until he rams them hard enough to crash through a store. Jimmy breaks Mike out of the car, and Mike grabs one of the cops' guns. The surviving cop attempts to shoot the two. Mike aims the gun at the cop, but Jimmy stops him and shoots the cop dead himself. This is witnessed by several civilians, and the cops issue a manhunt for Mike and Jimmy.
The two go through the subway to find more goons are on their tails. Jimmy fights one man in the bathroom while Mike evades them through the train. He gets Jimmy on with him just in time. Although Mike wants to go to his family, Jimmy tells him that Shawn will be coming after both of them and Mike's family, so he needs to get through the night with Jimmy to survive.
Jimmy meets with Shawn to try and ask for forgiveness for what he did to Danny. Shawn instead vows to get to Mike and kill him in first before letting Jimmy die.
Two of Shawn's goons hunt for Mike's family at Ricky's house, right after Mike showed up to warn Gabriela and the girls. They hide in the shower as Ricky stalls the goons. They leave the family alone after finding nothing.
Shawn calls for a hitman named Price (Common) to go after the two. They go to Legs' apartment to ask for his help. Mike finds Legs' brothers there and tells him to get Legs to help him. A neighbor woman spots Mike and Jimmy, alerting her to call the police. The cops show up soon enough, forcing Mike and Jimmy to plan their escape. They cut the power to the building, just as Price shows up after killing a cop at the door. He gets through the dark stairways with a night-vision lens. He catches up to the two as they leave a fire going off in an apartment. Jimmy fights Price as the building starts to burn. Jimmy burns Price's face and gets him down on the ground, giving Mike an opportunity to shoot Price. However, Jimmy tells him not to pull the trigger. They run as the cops show up, and Price kills them. The apartment explodes as Mike and Jimmy get away.
Jimmy brings Mike to his brother Eddie's (Nick Nolte) home. When Jimmy mentions he killed Shawn's son, Eddie freaks out and demands that he leaves. Eddie tells Mike that Jimmy killed their cousin because he was going to testify against Shawn, and Jimmy told Mike that someone else had done it. Mike returns to Ricky's home to get Gabriela and the girls. Lily sees Jimmy standing outside and asks her dad who he is. Mike says it's nobody.
Jimmy decides to end this once and for all. He goes to the bar where Shawn operates his business, and Jimmy kills all the hitmen in the bar. He and Shawn end up running out to a trainyard where they start shooting at each other. Shawn starts to run, and Jimmy hesitates to shoot him, but, knowing that Shawn won't stop until he's gotten Mike, he pulls the trigger. Shawn gets hit in the side, and he attempts to keep running, but he falls. Jimmy goes over to Shawn and holds him as he dies.
Legs goes to Harding at the police station with the recorded video of Danny killing the Albanian mobster outside his building. Legs also tells Harding who Mike is and why he wouldn't commit these crimes.
Jimmy meets Mike with his family at a lake house in North Shore. He finally meets Gabriela and the girls, although Lily doesn't want to say hi to Jimmy. Mike goes outside with the family by the lake to feed ducks. Jimmy stays in the house and sees the collage Gabriela made. He then gets shot through the side by Price, standing in the distance. Mike hears the gunshots and tells Ricky to take the girls somewhere safe. Mike grabs his gun and exchanges fire with Price through the woods. Jimmy gets his rifle, but he is severely wounded and he falls to the ground, knowing he is going to die. With his last bit of strength, he puts one bullet in the rifle and raises it in time to shoot Price in the head before he can kill Mike. Mike rushes to his dad's side right before he dies. Harding and his partners show up. He tells Mike he knows he's innocent. He then looks in Jimmy's hand to see that he's holding a list of everybody he's ever killed.
Later on, Mike is at the gym watching Legs fight another kid. Legs beats his opponent, making Mike proud. He returns home to find Gabriela and the girls making Christmas cookies. He goes into his room and puts on formal attire (presumably to Jimmy's funeral). Before he leaves, he takes one more look at the picture of him and Jimmy by the lake.