On July 4, 1969, an unknown male attacks a couple with a handgun, Darlene Ferrin (Ciara Hughes) and Mike Mageau (Lee Norris), at a lovers' lane at a golf course in Vallejo, California. Mageau survives his wounds, while Ferrin dies from her injuries.
One month later, a letter written by someone calling himself the "Zodiac" arrives at the San Francisco Chronicle. Paul Avery (Robert Downey, Jr.) is a Chronicle crime reporter. Robert Graysmith (Jake Gyllenhaal) is a political cartoonist there. The newspaper receives encrypted letters that the killer sends, taunting the police. Because of Graysmith's editorial status as a cartoonist, he is not taken too seriously by Avery or the editors and is excluded from the initial details about the killings despite his interest in the case. In particular, Graysmith is drawn to the encrypted code included with the letters. When the San Francisco Chronicle newspaper publishes the cypher letters, a husband and wife team reads them, and is able to decipher one. While at a local bar drinking Aqua Velvas, Avery initially makes fun of Graysmith before they discuss the coded letters. Graysmith does some interpretation of the letter, which Avery finds helpful. Avery begins sharing more story information with him.
The Zodiac killer attacks again, stabbing a couple on a picnic on September 27, 1969. Law student Bryan Hartnell (Patrick Scott Lewis) and Cecelia Shepard (Pell James) are attacked at Lake Berryessa in Napa County. Shepard dies after two days as a result of the attack, while Hartnell survives. Two weeks later, on the night of October 11, 1969, San Francisco taxicab driver Paul Stine is shot and killed in the city's Presidio Heights district immediately while he was dropping the killer off. The Zodiac killer then tore off a large blood stained piece of Stine's dress shirt, and later mailed pieces of the stained shirt to the San Francisco Chronicle, along with a letter taunting the police and the newspaper. San Francisco police detectives Dave Toschi (Mark Ruffalo) and his partner Bill Armstrong (Anthony Edwards) are assigned to the Stine case,and work closely with other area detectives including Vallejo's Jack Mulanax (Elias Koteas) in and Detective Ken Narlow (Donal Logue) in Napa. The killer, or someone posing as him, continues to toy with authorities by sending more letters, and speaking on the phone with lawyer Melvin Belli (Brian Cox) when he makes an appearance on a television talk show. Paul Avery and Graysmith form an alliance, delving deeper into the case as time permits.
In 1971, Detectives Toschi, Armstrong, and Mulanax question Arthur Leigh Allen (John Carroll Lynch), a Vallejo suspect in the case. Allen acts very suspicious during the interview, playing word games with the detectives. However, a handwriting expert (Philip Baker Hall) insists that Allen did not write the Zodiac letters, even though Allen is said to be ambidextrous. Avery receives a new letter threatening his life, and he becomes increasingly paranoid and turns to drugs and alcohol. At one point, he shares information with the Riverside Police Department, angering both Toschi and Armstrong. The case's notoriety weighs on Detective Toschi, increasingly while viewing a Hollywood film, Dirty Harry, loosely based on the Zodiac case. Graysmith keeps hounding Toschi, even showing up at the theater where Toshi is watching the movie with his wife.
By 1978, Paul Avery leaves the Chronicle, and moves to the Sacramento Bee newspaper. Detective Armstrong transfers from the San Francisco Police homicide division, and Detective Toschi is then demoted for supposedly forging a Zodiac letter. Graysmith, meanwhile, continues his own investigation, interviewing witnesses and police detectives involved in the case. His investigation is profiled in the Chronicle, which the prime suspect is known to read, and he allows himself to be interviewed on television about his book-in-progress concerning the case. Obsessing over the unsolved case, he begins receiving anonymous phone calls with heavy breathing (on the night of Ferrin's death, Graysmith discovered that someone prank-called the victim's family and did the same thing). Because of his submersion in the case, Graysmith loses his job and his wife Melanie (Chloë Sevigny) leaves him, taking their children with her.
Graysmith persistently contacts Toschi about the Zodiac murders, and eventually impresses the veteran detective with his knowledge of the case. While Toschi cannot directly give Graysmith access to the case evidence and other information he discovered over the years, he provides contact names of other police departments in other counties where Zodiac murders occurred. The cartoonist acquires more information that points to Arthur Leigh Allen as the Zodiac, and although circumstantial evidence seems to indicate his guilt, the physical evidence, such as fingerprints and handwriting samples, exonerates Allen.
In December 1983, a full 14 years after the first murder, Graysmith tracks Allen down to a Vallejo Ace Hardware store, where he is employed as a sales clerk. Allen's name tag can be seen with "Lee" written on it. Allen asks if he can help Graysmith with anything, to which Graysmith immediately replies "no." Then, they stare at each other for an extended moment, their expressions morphing, before Graysmith turns around and leaves the hardware store.
Eight years later, in 1991, victim Mike Mageau (Jimmi Simpson) meets with authorities and identifies Allen from a police mugshot. As the authorities walk by an airport book store, copies of Robert Graysmith's book Zodiac are seen in the shelf for bestsellers.
Final title cards inform the audience that Arthur Leigh Allen died in 1992 before he could be questioned further by police. A tissue sample was taken from his body at his autopsy. A DNA test performed in 2002 did not match Allen with a partial DNA sample gathered from the postage stamp on one of the Zodiac letters.