*CUT TO THE CHASE*
This spoiler was submitted by Jeremy
The film opens with what appears to be a struggle happening in a car. Riley North (Jennifer Garner) is fighting a gangster who slashes her leg with his knife. She gains the upper hand and holds a gun under his chin. Riley asks if he remembers her, but he simply responds with "Fuck you" before Riley blows his brains out.
Riley goes to an impoverished neighborhood where she hides out. She enters her van where she tends to her leg wound and has a drink. She goes through her belongings, and out falls a box of girl scout cookies.
We flashback to five years ago where Riley was with her daughter Carly (Cailey Fleming) after getting into an argument with another girl scout's mother, Peg (Pell James), who complains to Riley that they were selling on their turf. Later, Riley and Carly stop to visit Riley's husband/Carly's father Chris (Jeff Hephner), who, unbeknownst to Riley, is arranging some kind of shady deal with his coworker Mickey (Chris Johnson). Riley then goes to work at her bank and is told to close even though it's Carly's birthday.
Riley goes home for Carly's birthday party, only to find her and Chris disappointed because nobody showed up thanks to Peg, who spitefully threw a holiday party and invited all the other kids, but left a voicemail just to taunt Riley and Carly. Riley decides not to let Carly stay sad, so she suggests they all go to the Christmas carnival. As they head out, Chris calls Mickey to tell him he's backing out of the deal. The family leaves, and they are watched by a gangbanger. He calls his boss, cartel leader Diego Garcia (Juan Pablo Raba). Garcia is in the middle of torturing Mickey, who was apparently trying to steal from Garcia with Chris's help. Garcia orders his guy to follow Chris right before he decapitates Mickey.
The Norths enjoy their evening at the carnival and end the night with ice cream. As Chris and Carly walk back toward the car, three gangbangers drive up by them and shoot them. Riley gets shot as well, but she manages to make it to the bodies of her husband and daughter.
Riley wakes up in the hospital and meets with Detective Stan Carmichael (John Gallagher Jr). He tells Riley that the suspects have been apprehended, and he gives Riley the photo booth pictures she took with Chris and Carly.
Riley is brought in to identify the gangbangers. She recognizes all three of them by their face tattoos. Later, as she is packing up Chris and Carly's things, Riley is visited by an attorney, Henderson (Michael Mosley), who attempts to bribe Riley into dropping her testimony against the criminals that he is representing. He also notices some medication that Riley is taking, but she forces him out of her house.
Riley is brought in to testify against the gangbangers, but Henderson tries to use the medication thing against her by saying her memory was hazy or that she is mentally unfit to remember them. Judge James Stevens (Jeff Harlan) rules against Riley's favor and lets the killers walk. Riley snaps and tries to attack the gangbangers, but she is tased by the bailiff, and the killers laugh in her face. Riley is being wheeled away to a psych ward, and Carmichael hops in to join her in the ambulance, but she grabs an oxygen tank, whacks Carmichael across the head, and then runs out of the ambulance, disappearing.
In the present day, Carmichael meets with his partner, Moises Beltran (John Ortiz), as they find the bodies of the three killers hung upside down from a ferris wheel.
Riley goes to the home of Judge Stevens and ties him up after beating him and nailing his hands to the table. She makes sure he remembers her, and she tells him that the rope he's tied up with is explosive. Riley hops on a bus and then detonates the rope, blowing Stevens up. On the bus, Riley meets a young boy, and she gives him a toy that she swiped from Stevens' home. She notices the boy's father is drunk, and as they get off the bus, the man enters a liquor store while his son waits outside. Riley pistol-whips the guy and orders him to not ever drink again and to be a good father, or she will find him since she saw his ID and remembers his address. She then forces the clerk to give her his car, but she at least gives him money for it.
Carmichael and Beltran meet with fellow Detective Inman (Annie Ilonzeh), as they suspect Riley to be behind these killings, seeing as how it is the five-year anniversary of Chris and Carly's murders. After the trial, Riley robbed her bank and stole military-grade guns from a warehouse before going off the grid. Carmichael then gets a phone call telling him about Stevens' death, as well as the fact that Henderson was found face down in his pool. This basically confirms for them that Riley was involved.
Riley drives to a pinata store and kills the two men outside before entering. A firefight ensues, but Riley kills all the men inside except for one, Marvin (John Boyd). He later reports on what happened to Garcia, and Marvin gets killed for spilling his guts to Riley.
In order to get rid of Riley, Garcia arranges for his men to lure her to a warehouse. She finds a bomb there and hides just as Garcia's men detonate it, obliterating the whole building. Riley gets out through the sewers and steals someone's car so she can go after the guys. She catches up, kills them, and then manages to drive to Garcia's home. Riley kills most of the men in there before making it to Garcia himself. She has his gun turned on him, but before she can pull the trigger, Garcia's daughter (who looks about the same age as Carly when she died) walks in. Garcia stabs Riley in the side and gets out with his daughter and his men.
Riley flees and finds Peg's home. She punches Peg in the face and barges in to tend to her wounds. Riley has Peg tied up, pointing out that Peg's husband left her for another woman. Riley threatens Peg and even makes her piss herself before she leaves her there.
Inman travels to the poor neighborhood to continue her investigation. She learns from one of the men there that the crime rate in that area went down because of the "angel" looking out for them. She is then met by Carmichael in that area. When she comes close to realizing somebody in the police department is tipping off Garcia, Carmichael reveals himself to be dirty, and he shoots Inman dead.
Garcia meets with Carmichael in the area. Riley finds Inman's body and takes her phone to make a live video that hits the news. As Garcia and his men gather, Riley exposes Carmichael and Garcia for the scumbags they are, and she invites the police and the news to that area. Garcia then calls Riley out using a walkie-talkie and orders her to come out or he will execute a little girl from that neighborhood. Riley surrenders and approaches Garcia. He starts to beat Riley up just before the police show up. Thinking Carmichael set him up, Garcia shoots him dead. Garcia's men are arrested as he tries to flee, but Riley catches up to him. She holds her gun at him, and the police have their weapons drawn on her. Beltran begs Riley not to shoot Garcia, and he taunts her saying that she'll be in prison longer than him. Riley says "We're not going to prison", and she shoots him in the head, and the police return fire. Riley manages to flee, but Beltran says he knows where she's going.
The cops find Riley at the cemetery at Chris and Carly's grave. She breaks down weeping as Beltran approaches her. Riley feels she is ready to die there, but Beltran says otherwise.
Riley is in the hospital, and the news reports on how civilians see Riley as some kind of heroic vigilante, but the police say she will answer for her crimes. Beltran walks into Riley's room and slips a key into her hand, letting her remove her handcuffs and escape once again.