In 1971, NYPD Officer Frank Serpico is rushed to the hospital, having been shot in the face. Chief Sidney Green fears Serpico may have been shot by a cop.

Years earlier, Frank graduates from the police academy and becomes frustrated with his fellow officers’ laxness. On patrol, he confronts three men raping a woman, and apprehends one of the assailants. When the suspect is beaten during interrogation, Frank declines to join in, and persuades him to give up the others. Frank breaks protocol to arrest the suspect himself, but is coerced not to take credit.

Growing out his hair and mustache, Frank finds an assignment with the Bureau of Criminal Investigation. He moves to Greenwich Village and begins dating Leslie, a woman in his Spanish class. Due to his less-than-conventional appearance and interests, such as ballet, and a misunderstanding in the men’s bathroom, he is accused of being homosexual. Frank clears up the matter with Captain McLain but requests a transfer, with hopes of being promoted to detective.

At his new precinct, Frank is allowed to keep his hair and beard, and to use his own clothes and car on patrol. While chasing a burglar, Frank is nearly shot when other officers fail to recognize him. Assigned to plainclothes duty, he befriends Bob Blair, who has been assigned to the Mayor’s Office of Investigations. Leslie leaves Frank to marry another man in Texas.

Frank is given a bribe and informs Blair, who arranges a meeting with a high-ranking investigator. Told that he must either testify – and likely be killed by corrupt cops – or “forget it”, Frank quietly turns the bribe over to his sergeant. Striking up a romance with his neighbor Laurie, he reaches out to McLain for another transfer, and begins recording his phone calls.

Reassigned to the “clean as a hound’s tooth” 7th Precinct, Frank immediately discovers further police corruption. Forced to accompany fellow plainclothes officers as they perpetrate violence, extortion, and collect payoffs, he refuses to accept his share of the money. He informs McLain, who assures him that the police commissioner wants him to continue gathering evidence from the inside and that Frank will be contacted by the chief’s office. Frank becomes impatient waiting for the promised contact fearing for his life. Frank and Blair go to the mayor’s right-hand man, who promises a real investigation and the mayor’s support, but they are stymied by political pressure. Frank dismisses Blair’s suggestion that they go to other officials or the press.

Frank’s colleagues try again to convince him to take the payoff money, but he declines. The strain takes a toll on Frank, and his relationship with Laurie. When he discovers a suspect he arrested receiving special treatment, Frank brutalizes the man, whom he reveals served fifteen years for killing a cop.

Frustrated after a year-and-a-half of police inaction, and no word from the commissioner, Frank informs McLain that he has gone to outside agencies with his allegations. In front of the squad, Frank is sent to meet with division inspectors, who explain that his charges never made it up the chain of command. The inspectors inform the commissioner, who orders them to investigate the division themselves, and acknowledges that McLain told him of the allegations.

As the investigation proceeds, Frank is threatened by the squad, and Laurie leaves him. The DA leads Frank to believe that if he testifies in a grand jury, a major investigation into rampant department corruption will happen. He is deeply dismayed when during the grand jury he is prevented by the DA from answering questions that point up the chain of command. When Frank complains to people who keep dragging their feet about investigating and doing something about corruption, it becomes increasingly clear that their greatest fear and vulnerability is that he goes to any outside independent agency. Knowing his life is in danger, Frank goes with an honest division commander and Blair to the New York Times, making his allegations public, and is reassigned to a dangerous narcotics squad in Brooklyn, where he finds even greater corruption.

During a drug bust in 1971, Frank is shot in the face when his backup fails to act. He recovers, though with lifelong effects from his wound, and finally receives a detective’s gold shield but rejects it. He testifies before the Knapp Commission, a government inquiry into NYPD police corruption. An epilogue reveals that he resigned from the NYPD on June 15, 1972. Awarded the Medal of Honor for “conspicuous bravery in action”, he moved to Switzerland.