Before dawn in Seattle, a lone gunman roams the city and shoots two police officers on the job. After the killings, he cleans up at a luncheonette and a police badge is visible on his belt. When a car pulls up, the gunman goes outside and gives the driver a satchel containing his gun. As he walks away, the driver shoots him in the back with a shotgun.
Detective Lieutenant Lon "McQ" McHugh, John Wayne, is awakened by a colleague with the news that his longtime partner, Detective Sergeant Stan Boyle, William Bryant, has been shot along with two other officers. As he rushes to work, McQ notices someone trying to steal his 1973 Pontiac Firebird Trans Am. As he is distracted, someone shoots at McQ. He kills the assailant and recognizes him as a professional hitman.
Boyle is in critical condition at Harborview Medical Center. McQ briefly visits Boyle's wife Lois, Diana Muldaur.
At the police station, Captain Edward Kosterman, Eddie Albert, is working on the theory that counterculture militants shot his officers. McQ suspects narcotics dealer Manny Santiago, Al Lettieri, is responsible.
Despite a warning from Kosterman to leave the shooting investigation to other detectives, McQ begins tailing Santiago. When he learns Boyle has died, he follows Santiago into a men's room and beats him viciously. Threatened with desk duty, McQ resigns, against the urgings of Franklyn Toms, Clu Gulager, a field deputy who works as a liaison between the city council and police department.
McQ partners with a private investigator "Pinky" Farrow and reaches out to informants Rosey and Myra. He learns that Santiago is planning to steal drugs from the police before they can be destroyed. When the State Attorney General's office takes the drugs to be destroyed, McQ follows them. Disguised as laundry workers, Santiago's team manages to steal the drugs. McQ gives chase but loses them when he tails an identical laundry truck.
Kosterman confiscates McQ's revolver. He buys a pistol and borrows a MAC-10 submachine gun from his usual gun store. McQ breaks into Santiago's office and is confronted by the drug dealer. He reveals that corrupt police officers had replaced the drugs with powdered sugar before Santiago stole them. He repays McQ for the earlier beating.
McQ begins to suspect Kosterman. Rosey and Myra hint that Boyle might have been dirty, and Myra is killed after McQ leaves her. When McQ rushes to Myra's, he is caught in an alley between two semi-trucks, which crush his car. Realizing the attack was not meant to be lethal, McQ checks out his car at the impound lot. There is dust from the missing drugs inside. Acting on a tip about the drugs, Kosterman surrounds the lot with officers, but McQ manages to escape.
He visits Lois, who is leaving to visit her parents. McQ joins her for the drive. He has deduced that Lois double-crossed Boyle, who had been hiding the drugs in McQ's car. He finds the drugs in Lois' suitcase. He notices they are being followed and directs Lois to a nearby beach. A shootout ensues, and McQ kills their pursuer who turned out to be Toms.
Santiago's men arrive and chase McQ down the beach. McQ kills them all with his MAC-10. Lois is arrested. Kosterman gives McQ back his badge, and they get a drink at a bar.