NOTE: This spoiler was sent in by Marcus.
The film begins with Detective Tom Ludlow (Keanu Reeves) waking up to his alarm clock. After he turns it off, he checks his pistol and goes to the bathroom. He looks at himself in the mirror and then vomits in the toilet. After brushing his teeth, Ludlow cleans parts of a gun and then gets ready for work. He places the cleaned gun in the trunk of his car and then drives to a liquor store, where he buys three little bottles of vodka. He downs one as he drives through downtown Los Angeles. He gets to Koreatown and meets up with two Koreans. The deal is that Ludlow will sell them machine guns in exchange for cash. He shows them a huge machine gun in the trunk of his car, but the Koreans can’t get it out because it’s stuck. He tells them to just take the car, telling them that it’s clean, and he offers them some meth. Ludlow insults them to the point where the Koreans have had enough of him, and beat the crap out of him. While he’s on the ground, they take his keys and drive off with his car. Ludlow calls someone from a payphone and finds out where his car was taken to. In the background a poster can be seen for two abducted twin children that have been missing for some time now.
Ludlow tracks down where the Koreans took his car. He sneaks into the driveway and opens his trunk, pulling out the cleaned gun and a bullet-proof vest from a hidden compartment. Ludlow goes to the front door and kicks it in. He shoots a Korean, who’s sitting behind a desk, a couple of times in the chest. Ludlow then opens the bathroom door and unloads his gun into a man sitting on a toilet. As he reloads, Ludlow is shot in the chest with a shotgun, but the vest catches it. He shoots and kills a man who has a mask over his eyes, and then he shoots the last Korean through the back and face. Ludlow downs another vodka bottle and then goes back to the dead Korean at the desk. He places a gun in his hands, fires off a couple shots towards the door, and then plants the meth on the desk. He finds another gun hidden underneath a sofa cushion, and throws it in the bathroom. Ludlow goes to the back of the house and finds a sealed off room. He opens the door and finds the two kidnapped twins locked in cages. He tells them that he’s a cop, and everything’s going to be alright now. Shortly afterward the police and ambulances arrive at the scene. A reporter asks Captain Jack Wander (Forest Whitaker) how they were able to find the abducted twins, but he just says that he couldn’t be prouder of his men. Inside the house are Ludlow, Sgt. Mike Clady (Jay Mohr), Detective Cosmo Santos (Amaury Nolasco), and Detective Dante Demille (John Corbett). They are all part of Wander’s vice team, and Santos tells Ludlow that the paper will read that Detective Ludlow single-handedly found the kids. This pisses Santos off, since he wants part of the glory and he starts to fight with Ludlow until Wander walks in. Wander orders everyone out except for Ludlow.
Wander tells Ludlow that he’s proud of him, and not to feel bad about any of the Koreans he killed. He’s glad Ludlow’s okay, and gives him a hug. When he does, he smells the alcohol on his breath. Wander tells him to go to the hospital so that he can sober up before anyone tries to test his blood for drugs/alcohol. Ludlow goes outside, where Detective Terrence Washington (Terry Crews) approaches him. Washington used to be Ludlow’s partner, and he voices his disdain for what Ludlow’s become. Washington says that every one of the victims deserved a trial, but Ludlow reminds him that the true victims were the children kept in cages, who were sold off to scumbags who would abuse them and broadcast it on the internet. Things turn hostile and Ludlow shoves Washington, but Wander gets both of them to cool down. Ludlow goes to the hospital and a nurse tries to treat his injuries, but he says that he’s waiting for nurse Grace. In the next bed sits James Biggs (Hugh Laurie), who introduces himself as a man who sells insurance. He recognizes Ludlow from news reports on TV, and asks him how he found out where the kidnapped twins were. Ludlow tells him that it was his job, and then another police officer comes up to Biggs. It turns out that Biggs is actually Captain Biggs, and he hands Ludlow his business card, telling him to not go so far that he can’t bring him back in. Ludlow scoffs at him and then his girlfriend Grace (Martha Higareda) comes in to treat him. She says that he could just visit her at work, instead of only coming in when he gets hurt. She closes the curtain around the bed and they passionately kiss each other. Later on, Ludlow gives his statements to the authorities. He says that once he entered the house, he was fired upon and so he returned fire. The investigators ask him why he didn’t call for back-up, but Ludlow tells them that he heard screaming coming from the house and determined that a crime was happening at that moment.
Ludlow drives to a restaurant, which is filled to the brim with police officers. He sits down at the table where his Vice teammates are, and they congratulate him on a job well done. They are also celebrating because Wander is soon going to be the new police chief. Ludlow shows everyone Biggs’ card, telling him that he tried to talk to him at the hospital. Wander recognizes the name, and says that he’s out to bring down dirty cops. During this time, it’s also revealed that Washington used to be on the Vice team and used to be dirty, but he cleaned up his act and is acting as an informant to Biggs. Wander says that Washington is going to rat out Ludlow, which makes him lose his cool. He suddenly gets up and tries to make his way to Washington, who’s also in the restaurant a couple of tables down, but Clady holds him back and Wander orders them to sit down. Wander says that he’ll continue to look out for Ludlow, but he orders him not to go anywhere near Washington. It turns out that Ludlow can’t resist, since in the next scene he follows Washington around the city while drinking more alcohol. He follows Washington to a convenience store, where Ludlow parks nearby and gets out of his car. He takes off his belt and wraps it around his knuckles, preparing to beat the crap out of Washington when he sees a car pull it. Inside are two men who are wearing bullet-proof vests and bandanas around their faces. Ludlow ducks down, takes out his gun, and then goes into the store. He looks around for Washington, but Washington hits him in the face with a basket, since he thinks that he’s trying to kill him. Ludlow tries to warn him a robbery is about to happen, but it’s too late. The masked men enter the store and shoot the clerk to death. Ludlow ducks behind an aisle and fires his gun at them without looking. Unfortunately, one bullet hits Washington in the back. The masked men fire at Washington and pump his body full of bullets. The shooters run out of the store and take off as Ludlow goes over to Washington, who was also shot twice in the face. Washington painfully dies and two police officers arrive at the scene.
Wander pulls up to the scene and silently makes Ludlow follow him into the store. They walk past Washington’s bullet-ridden corpse and to the back room where Clady is. Clady tells Ludlow that he really screwed them up bad for being at the spot as Washington was killed. Wander has Clady wait outside, and then he gets after Ludlow for disobeying a direct order. Since he was at the scene, people are going to think that Ludlow killed Washington, especially since he was going to rat him out. Ludlow says that he was just going to break his jaw, but it doesn’t matter. Wander decides to do some damage control the story is going to be that Ludlow was the first at the scene and he tried to help Washington but was too late. He also has Ludlow steal the security footage, and they’ll say that the clerk forgot to put the disc in the recorder that morning. Later on, Ludlow goes to Grace’s home and drinks outside while waiting for her. When she arrives, he tells her what happened to Washington and says that he can’t believe he just cowered in the corner as his ex-partner was murdered. The next day, Wander shows Ludlow the story about Washington’s death in the newspaper (which hails Ludlow for trying to save him). However, Wander wants Ludlow to stay under the radar until this whole thing with Washington blows over, so he gives him a desk job for the time being. Ludlow puts on his police officer’s uniform and is sent to work in an office with several other cops, whose job is to take complaints from the public about other cops. Ludlow sees an assortment of people complaining about police officers, including prostitutes and people who’ve been beaten by cops.
Eventually, Ludlow gets another visit from Biggs, who starts to ask questions about Washington’s death. They go out to lunch, where Biggs pulls out a tape recorder and formally asks for Ludlow to give his statement of what happened. He says that he was the first one to show up at the scene, but couldn’t save his ex-partner. Biggs turns off the tape recorder and asks him man-to-man what happened. Ludlow tells him the same story, which pisses him off. Biggs asks him about the security footage, but Ludlow claims not to know anything about it. Fed up, Biggs asks him if it even bothers him that two cop killers are out on the streets. He winds up leaving, but not before telling him that he gave him a chance to come clean, and so now he’s going to burn him when he finds proof that he’s dirty. He also makes mention that three different calibers of bullets were pulled out of Washington’s body, so he knows there was someone else who shot Washington other than the two shooters. During this time, Ludlow goes to pay Detective Paul Diskant (Chris Evans) a visit. Diskant is working Washington’s murder investigation, and Ludlow wants to help him. He also asks him if he received the bullet calibers yet. Diskant doesn’t want anything to do with him and asks him to leave. Wander and Ludlow barge into Biggs’ office, where Wander gets after him for going after Ludlow. Wander knows that Biggs has open investigations on all of his Vice team, including Wander himself. He tries to blackmail Biggs about how a couple of years ago he got a blowjob from a prostitute. He doesn’t think his wife will like that fact, but Biggs counters that he knows Wanders and his team are dirty, and he’ll burn them all soon enough.
All the police officers attend Washington’s funeral and salute as rifles are shot into the air three times. Afterwards, Ludlow tries to talk with Linda Washington (Naomie Harris), but she refuses to talk to him and leaves. Ludlow goes to the coroner’s office, where he introduces himself to the pathologist. He asks him if he still has the different bullet calibers that were pulled from the body. Ludlow then recognizes the pathologist from a couple years ago. He was the same one that refused to conduct further tests on Ludlow’s wife, who died while she was having an affair. Because he didn’t conduct more tests, Ludlow was never able to find out who she was cheating on him with. Diskant enters the room and signs off on the bullets. Ludlow follows him outside and asks him what he thinks happened in the convenience store. Diskant says that it was a robbery gone wrong, and Washington was killed by the two thugs. Then they pulled out another gun and shot him again for good measure. Diskant knows that he’s supposed to cover for Ludlow, and so he asks him why he has a problem with this. Ludlow still wants to nail the two shooters, and then Diskant gets a phone call. Ludlow tells him that he’ll see him again real soon and leaves.
Eventually, it’s revealed that one of the shooters dropped a cigarette outside the store before they entered, and the cops were able to identify them from the DNA in the saliva. The two thugs are Coates and Fremont. Ludlow talks with Demille and Santos about them, and it’s revealed that Washington busted them in the past, but then they were shortly released. Demille thinks it’s ironic that he got killed by the same crooks he arrested. Ludlow shows Clady copies of Coates and Fremont’s arrest records, but Clady tells him to drop it and shreds them. At night, Ludlow shows up at Wander’s doorstep drunk as hell. Wander lets him inside, and Ludlow asks for permission to take out Washington’s killers. Wander tells him to stop drinking and get over the death of his wife, but he can’t. Ludlow’s wife had a brain clot, and it burst while she was cheating on him. The other guy dropped her off at the hospital and let her die on the sidewalk. Wander warns him that he can’t get another DUI, and tells him to stop digging into Washington’s case. Later on, while working at the complaints desk, Diskant signals Ludlow to talk with him, and so he follows him to the bathroom. Diskant starts asking questions about Washington being dirty with him, which causes Ludlow to frisk Diskant and take apart his phone (in case he was recording him). Diskant is pissed and is ready to leave, but Ludlow apologizes and tells him that he needs to watch his back. Diskant tells Ludlow that according to his reports, Washington was working with Coates and Fremont, and he was selling drugs to them. Washington signed out a bunch of drugs from the evidence room, and he had $50,000 dollars in his car when he died. It appears that he was going to make a drug deal to Coates and Fremont but they turned on him. Ludlow wants to get the shooters, and Diskant does too. Diskant also has the last known address of the suspects, so they plan to meet up later that night.
Somewhere along here Ludlow pays another visit to Linda, reassuring her that he’s going to get to the bottom of her husband’s death. Linda tells him that she doesn’t care, since she knows that Washington wasn’t dirty. The fifty grand that was found was for the two of them skipping town later that week, after he was supposed to give his statements to Biggs. Later on Ludlow and Diskant drive to the last known address of the suspects. Ludlow sees that there’s a family living there now, and when he talks to them it’s confirmed that the suspects are no longer there. He sees a group of Latinos hanging out across the street. He says that he’s going to stir them up, and whoever tries to run away knows something about Coates and Fremont. Ludlow walks across the street and pulls out his gun while wearing his police badge. Quicks (Noel Gugliemi) gets nervous and starts to run away. Ludlow has Diskant chase after him as Ludlow gets back in his car and follows them. The chase has both men going through numerous backyards, houses, and streets. Ludlow drives up ahead of them and waits for them to appear. Diskant loses Quicks because he’s made his way onto a roof. He tries to get away, but Ludlow throws a chair at his leg, causing him to fall into barbed wire. Ludlow frisks Quicks and finds a gun, along with drugs hidden in his sock. He asks him about Coates and Fremont, but he won’t talk. Ludlow pulls Quicks deeper into the barbed wire to cut him up some more. Quicks tells them to talk to Grill. Ludlow and Diskant leave Quicks still caught up in the barbed wire.
Grill (The Game) eats his cereal with beer while watching TV. There’s a knock at the door, and he sees Ludlow. He tries to grab a gun, but Diskant holds him at gunpoint from outside. Ludlow enters and handcuffs Grill. Ludlow gets himself a beer from the fridge, and then looks through the condiments. He pulls out a mustard container and finds drugs hidden in it. This will be Grill’s third strike, so he’s royally screwed unless he helps them. Ludlow asks him where Coates and Fremont are, but he won’t talk. Ludlow grabs a phone book and repeatedly bashes his head with it. Diskant tries to get him to stop, but Ludlow continues the beating. Grill eventually says that he doesn’t know, but someone in county jail will, and that’s where they should look next. Ludlow however wants Grill to snitch for him. He promises that it’ll be off the record and no one will ever know. Once Grill finds out where they are, he’ll get him out. Grill agrees, and so Ludlow and Diskant drive him to jail. After spending time in jail, Grill gets the information about the next guy they should talk to someone named Scribble. Ludlow has police officers follow Scribble around, and he tells Diskant that he’s going on his own to question him. Diskant wants to come along, and so Ludlow speeds through the streets of L.A. with Diskant in tow. Diskant tells him that he has a fiancé, and he’d like to see her again as Ludlow narrowly avoids hitting bystanders in the middle of the street. Ludlow calls off the other cops following Scribble, and then he pulls him over. Ludlow can tell that Scribble (Cedric the Entertainer) has been using drugs, and so he demands cooperation. Diskant keeps the crowd of people watching back as Ludlow convinces Scribble to talk about Coates & Fremont, or else he’ll send him back to jail. Scribble hasn’t talked to them in over a week, and he doesn’t know their number (they always call him). He can show where he last met them, and so Ludlow tells him to leave his car and get into his.
Ludlow, Diskant, and Scribble drive to a house in the hills. Ludlow and Diskant break into the house only to find blood splattered everywhere (ceiling, wall, couch, e.t.c…). They follow a blood trail outside and then unearth two corpses buried in the backyard. The two dead men are Coates and Fremont. Diskant is confused, since they couldn’t have possibly killed Washington and wonders who would frame two dead guys. Ludlow shows Scribble pictures of Coates and Fremont, but he says that he’s never seen them before. Ludlow tells Scribble to arrange a meet with the people claiming to be Coates and Fremont. Scribble will tell them that Ludlow can provide what Washington did, and they will know what he means. Scribble agrees, as long as they drive him back to his car, which is still back in the hood. The Vice team and their wives/girlfriends have a get-together at Wander’s house. Grace swims in the pool and Ludlow hands her a towel when she’s finished. Then everyone jokes around and Wander talks about picking up Ludlow for his team and how he sent him on a mission one day to a house. When Ludlow entered by himself, there were gunmen everywhere. Ludlow laid them all out by himself, which impressed him. Ludlow gets a call from Diskant, who tells him that Scribble arranged a meeting for them tonight with Coates and Fremont. Before meeting Diskant at the station, Ludlow goes to Linda’s house and gives her the security disc, telling her that she should know that her husband didn’t die alone. He promises that he’s going to take out Washington’s killers, but she tells him that it won’t bring him back. Ludlow meets Diskant at the station, where he tells him to go home. Ludlow says that there’s no way he’s going to arrest the shooters, and he doesn’t want Diskant to get involved. Diskant however volunteers to come, and so Ludlow gives him a gun. They load their weapons into the car when Biggs pulls up next to them. Ludlow and Biggs insult each other some more, and Ludlow says that he’s not going to arrest him, because Ludlow and people like him are a necessary evil. Biggs drive off.
While driving to the meet, Ludlow has Diskant empty his bullets and load his gun with hollow points, saying that the cops can’t find police-issued bullets in the bodies. They meet up with Scribble, who warns them that Coates and Fremont are like vicious wolves. All three of them enter a building and knock on the door. Fremont (Cle Sloan) answers the door and holds them all at gunpoint. They enter and Fremont wants to frisk them, but Ludlow refuses. Coates (Common) lets them enter since he knows they’re cops and thus are armed. Ludlow offers Coates some drugs as a sample, and then offers his services to him. He says that he can work for him like Washington did. Coates pulls out a huge bag of drugs and says that he doesn’t need any more. Fremont recognizes Ludlow from the convenience store, and so does Coates. Ludlow knows that the real Fremont and Coates are dead, and asks them who they are. Tension escalates, and Scribble tries to calm them down. Diskant recognizes who the two men are, but is immediately shot through the throat by Coates. Ludlow takes cover behind a sofa while Fremont shoots up the place. Scribble gets shot in the stomach but survives. Ludlow gets shot in the upper arm/shoulder, and he tells Diskant to hold on as he struggles to breathe. Coates tells Scribble to kill Ludlow, since there’s a gun nearby. Scribble refuses, so Coates shoots him in the leg. He again orders him to kill Ludlow, but he still refuses so Fremont shoots Scribble to death as Coates runs into another room. Ludlow shoots out all the lights, and then shines his flashlight on Fremont’s face. He shoots him dead, and then is shot at by Coates with a shotgun. Ludlow takes cover behind a fridge while Coates blasts it apart. Ludlow rams the fridge against Coates, and then jumps over to blast him in the head. Diskant painfully dies.
Ludlow goes to Grace’s home, where she cleans up his wound. He asks her what’s wrong, and so she turns on the TV. The shootout is being reported on the news, and it says that Ludlow is wanted for the deaths of two undercover cops (the guys posing as Coates and Fremont) and Diskant. Shortly afterwards, Santos and Demille kick in Grace’s door and arrest Ludlow. They take him in their car and drive off. Ludlow notices that they’re not driving him to the police station. Instead, they’re driving him back up the hill to be executed. He was told to drop the investigation into Washington’s death, but he just wouldn’t listen. Santos and Demille were the ones who worked with Coates and Fremont, and they planted the DNA evidence outside of the convenience store to implicate them. It turns out that Washington wasn’t going to rat Ludlow out he was going to turn over Wander to Briggs. Wander couldn’t have that, so he paid the two undercover cops to kill Washington. They also tell Ludlow that they’ve been following him around, and it was stupid of him to give the security disc to Linda. They’re going to kill her and frame him for it. Ludlow unlocks his handcuffs and then shoves a cuff through Demille’s cheek. This causes the car to swerve all over the road, as Santos tries to fight Ludlow off of him. They almost crash into a couple of buses, and then wind up crashing into another car. Shortly afterwards, Ludlow is knocked out by Santos. When he wakes up, he’s back at the house where the real Coates and Fremont were buried. Demille (who has a bandage on his face) takes a saliva sample from Ludlow and saves it for later. Ludlow weakly tries to crawl away while Demille and Santos laugh at him. They playfully fire at the ground around Ludlow, who crawls back to where the other bodies were buried. Ludlow gets his hands on a shovel and impales Demille’s head with it, killing him. Santos tries to kill Ludlow, but he takes Demille’s gun and kills Santos. Ludlow takes their car and speeds off into the city.
Meanwhile, Clady is beating up Linda and asking her where the security disc is. He finds it when he rips it out of her DVD player. Linda sees Ludlow sneaking around outside, but remains silent. She tells Clady to just kill her, but he says not yet. Ludlow sneaks up behind Clady and beats the crap out him, breaking his shoulder in the process. Ludlow tells Linda to leave the city and then takes Clady outside. He shoves him into the trunk of his car and knocks him out (this is the last we see of Clady). The next morning, Wander is getting ready for work when Ludlow shows up in his house. He says that he’s wanted for killing the two undercover cops, and Demille & Santos tried to kill him. Wander promises to help clean it up. The story will be that Ludlow never left the party, and spent the night at his house. Ludlow tells him that he should call over Clady. Wander sends a text message to Clady’s phone, but is surprised when Ludlow pulls it out of his pocket. The text message says “He’s here. Kill him.” Ludlow can’t believe that Wander tried to set him up and kill him. He also blames him for the death of Diskant, an actually good cop, but Wander tells him that he no one to blame but himself. Ludlow raises his gun to kill Wander but he fights back. The gun gets knocked away, and both men beat the crap out of each other all over the kitchen. Wander slams Ludlow on the floor and bashes his head, but Ludlow breaks his wrist and then gets on top. Ludlow beats him senseless, and then handcuffs one of his hands to the railing on the stairs. Ludlow grabs his gun and again is about to kill Wander but he pleads with him. He urges him to look in the wall of the living room. Ludlow grabs a lamp and breaks down the wall, revealing that it’s filled with hidden money. Wander says that he’s in charge of L.A., and Ludlow needs him because of his connections. Ludlow tells Wander that he was his best friend, and then shoots him twice in the chest, killing him.
Ludlow calls Biggs to Wander’s house and waits for him outside by the pool. A cop orders Ludlow to drop his gun, and so he does. Biggs walks in and hands Ludlow his gun back. He also hands him back the handcuffs he used on Wander. Biggs knew that once Ludlow had his eyes open, he would clean up the mess. He agrees that he’s a necessary evil, and he plans to cover-up Ludlow killing Wander. The story will be that some of Wander’s partners got greedy and tried to rob him. The film ends with Ludlow overlooking Los Angeles in the backyard.
Detetctive Tom Ludlow (Keanu Reeves) has been set up by his Captain (Forest Whitaker) and his fellow officers. It turns out Ludlow's former partner was not planning on turning him into Internal Affairs, he was actually going to rat ouf the Captain. At the end, Ludlow shoots his Captain (Forest Whitaker) and the Internal Affairs Captain (Hugh Laurie) who - all through out the movie appeared to be trying to catch Ludlow doing something wrong, tells Ludlow he will help make it look like the other officers killed the Captain, clearing Ludlow.