NYPD detective Billy Taggart (Mark Wahlberg) is arrested for the murder of Mikey Tavarez, who was believed to have raped and murdered sixteen-year-old Yesenia Barea but "walked" on a technicality. Chief Carl Fairbanks (Jeffrey Wright), goes to Mayor of New York City Nicholas Hostetler (Russell Crowe) with a witness and evidence. Hostetler buries the evidence, and a judge clears Taggart as having shot Tavarez in self-defense. The mayor calls Taggart to his office for a private meeting and calls him "a hero," but still forces him to leave the police.
Seven years later, Taggart is living with his girlfriend Natalie Barrow (Natalie Martinez), an aspiring actress. Taggart's private detective business is on the verge of bankruptcy when Mayor Hostetler hires him to investigate his wife, Cathleen Hostetler (Catherine Zeta-Jones), who he thinks is having an affair. Helped by his assistant, Katy Bradshaw (Alona Tal), Taggart learns that Cathleen is seeing Paul Andrews (Kyle Chandler), the campaign manager of Hostetler's rival in the upcoming elections, Jack Valliant (Barry Pepper).
At a fundraiser for Hostetler's campaign, Cathleen reveals to Taggart that she knows he has been following her, and advises him not to trust her husband. Taggart delivers to Mayor Hostetler photos taken of Cathleen meeting with Andrews.
At a film debut party, Barrow reveals that her real name is Natalia Barea, and that Yesenia was her sister. At the screening, Taggart is shocked at Natalie's sex scene, and strongly disapproves. He had thought it would express poetic love, but finds it akin to porn. Combined with guilt over working for Hostetler, Taggart descends into regular drinking bouts. He argues with Natalie over the scene and about the people she is seeing during her work. She breaks off the relationship.
Taggart gets drunk, brawling with strangers while walking the city streets. He receives a phone call from Katy telling him Chief Fairbanks wants him at a murder scene. When he arrives, he learns that Andrews, Vaillant's campaign manager, has been found murdered.
Taggart tells Fairbanks that he was hired by Mayor Hostetler to investigate his wife. They learn that the candidate Valliant was in Andrews' apartment, and the two men were lovers. Valliant reveals that Andrews was scheduled to meet Todd Lancaster (James Ransone), son of Hostetler's wealthy benefactor, contractor Sam Lancaster (Griffin Dunne). A furious Cathleen tells Taggart that Andrews was a close friend of hers, not a lover, and that he had promised her information about Hostetler's plans for the Bolton Village Housing Project. The deal was expected to enrich both Sam Lancaster and the mayor. Hostetler wanted to find out Cathleen's source, so he manipulated Taggart into tracking her.
Taggart decides to investigate Mayor Hostetler for corruption. He goes to Lancaster's construction business, and finds workers destroying loads of documents. Stealing some of the documents, he discovers that Bolton Village has been sold in order to build high-rise office buildings, rather than a new housing development. Hundreds of impoverished people will be left homeless while Hostetler and Lancaster make a profit. After leaving Lancaster's, Taggart is pursued in a car chase by Hostetler's men, who run him off the road and take back the documents.
Taggart visits Sam's son Todd Lancaster, who says he had intended to give Andrews a copy of the demolition contract as evidence against Hostetler on the night Andrews was murdered. He gives it to Taggart instead. Taggart confronts Mayor Hostetler, who is unfazed because he has kept a video showing that Taggart murdered Tavarez in cold blood. Since there is no statute of limitations on murder, Taggart can still be prosecuted and face prison time. Taggart records their conversation, as the Mayor admits to his own corrupt dealings.
Willing to make the recording public, although he would endanger his freedom, Taggart turns the recording over to Commissioner Fairbanks. While Hostetler is at home celebrating a successful debate, Fairbanks arrives to arrest him. Fairbanks tells the mayor he was having an affair with Cathleen. In the film's final scene, Taggart meets Fairbanks at a bar and they toast Valliant, who has won the election. Katy comes in to say goodbye before the two men leave the bar.
Who does Taggart visit ?
Sam's son