The story opens in Saigon late in 1969. U.S. Army Captain and special operations veteran Benjamin L. Willard (Martin Sheen), has returned to Saigon on another tour during the Vietnam War, casually admitting that he is unable to rejoin society in the USA and that his marriage has broken up. He drinks heavily and hallucinates alone in his room, becoming very upset and injuring himself when he breaks a large mirror. One day military intelligence officers Lt. General Corman (G. D. Spradlin) and Colonel Lucas (Harrison Ford) approach him with a top-secret assignment to follow the Nung River into the remote jungle, find rogue Special Forces Colonel Walter E. Kurtz (Marlon Brando) and "terminate his command with extreme prejudice". Kurtz apparently went insane and now commands his own Montagnard troops inside neutral Cambodia. They play a recording of Kurtz' voice, captured by Army intelligence where Kurtz rambles about the destruction of the war and a snail crawling on the edge of a straight razor.
Willard joins a Navy PBR commanded by "Chief" (Albert Hall) and crewmen Lance (Sam Bottoms), "Chef" (Frederic Forrest) and "Mr. Clean" (Laurence Fishburne). The crew are mostly young soldiers; Clean is only 17 and from the South Bronx, Lance is a famous surfer from California and Chef is a chef from New Orleans. The Chief is an experienced sailor who mentions that he'd previously brought another special operations soldier into the jungles of Vietnam on a similar mission and heard that the man committed suicide. As they travel to the mouth of the Nung River, Willard's voiceover reveals that hearing Kurtz' voice triggered a fascination with Kurtz himself.
They rendezvous with reckless Lieutenant Colonel Bill Kilgore (Robert Duvall), a commander of an attack helicopter squadron, the infamous Air Cav (Cavalry), who initially scoffs at them. Kilgore befriends Lance, both being keen surfers, and agrees to escort them through the Viet Cong-filled coastal mouth of the Nung River due to the surfing conditions there. Amid air and napalm strikes on the locals and Ride of the Valkyries playing over the helicopter loudspeakers, the beach is taken and Kilgore orders others to surf it amid enemy fire. While Kilgore nostalgically regales about a previous strike, Willard gathers his men to the PBR, transported via helicopter, and begins the journey upriver.
During the long journey that occupies the bulk of the story, Willard sifts further through the Kurtz dossier, learning that he was a model officer and possible future general. Kurtz had eschewed the promotion, applying several times for Airborne training and had sent a report to his superiors about the war that was deemed classified.
The crew later encounters a tiger in the jungle -- a stern reminder of the rule to never leave the boat -- and visit a supply depot USO show featuring Playboy Playmates which goes awry. Afterwards, the crew inspect a civilian sampan for weapons but Mr. Clean panics and opens fire, prompting Lance to open fire on the family as well. Amid the supplies on the boat, Chef finds a puppy. Lance harshly takes it from Chef and keeps it as a pet. When Chef finds one young woman alive, Willard coldly shoots her to prevent any further delay of his mission. Tension arises between Chief and Willard as Willard believes himself to be in command of the PBR, while Chief prioritizes other objectives over Willard's secret mission. Reaching the chaos of the Do Lung bridge under attack, Willard learns that the missing commanding officer, Captain Colby (Scott Glenn), was sent on an earlier mission to kill Kurtz. Willard also sees the lost side of the war: burned-out, stoned soldiers fighting a battle they are losing to keep the bridge open. As the PBR crew leave, the bridge is once again destroyed.
Meanwhile, Lance and Chef are continually under the influence of drugs. Lance in particular smears his face with camouflage paint and becomes withdrawn. The next day the boat is fired upon by an unseen enemy in the trees, killing Mr. Clean and making Chief even more hostile toward Willard. Ambushed again, this time by Montagnard warriors, they return fire despite Willard's objections that the arrows fired on them aren't lethal. Chief is impaled with a spear and tries to pull Willard onto the spearhead before dying. Afterward, Willard confides in the two surviving crew members about the mission and they reluctantly agree to continue upriver, where they find the banks littered with mutilated bodies. Arriving at Kurtz's outpost at last, Willard takes Lance with him to the village, leaving Chef behind with orders to call an airstrike on the village if they do not return.
In the camp, the two soldiers are met by an American freelance photographer (Dennis Hopper), who manically praises Kurtz's genius. As they proceed, Willard and Lance see corpses and severed heads scattered about the temple that serves as Kurtz's living quarters and encounter Colby, who seems catatonic. Willard is bound and brought before Kurtz in the darkened temple, where Kurtz derides him as an errand boy. Meanwhile, Chef prepares to call in the airstrike but is kidnapped. Later imprisoned, Willard screams helplessly as Kurtz drops Chef's severed head into his lap. After some time, Willard is released and given the freedom of the compound. Kurtz lectures him on his theories of war, humanity and civilization while praising the ruthlessness and dedication of the Viet Cong: Kurtz had reached his breaking point some years before when he'd led a mission to inoculate the children of a small village for polio. Soon after completing that mission, Kurtz' unit was called back by one of the villagers where he found that the Cong had come and hacked off every child's arm that had been injected with the vaccine. Kurtz morbidly admires the vicious dedication of the Cong and the will they had to foil the efforts of his unit to help the villagers. Kurtz believed that if he'd had a large legion of men who would go to such extremes that he could end the war itself. Near the end of their time together, Kurtz discusses his son and asks that Willard tell his son everything about him in the event of his death.
That night, as the villagers ceremonially slaughter a water buffalo, Willard enters Kurtz's chamber as Kurtz is making a tape recording, and attacks him with a machete. Lying mortally wounded on the ground, Kurtz whispers his final words "The horror ... the horror ..." before dying. Willard discovers substantial typed work of Kurtz's writings (scrawled with "Drop the bomb Exterminate them all!") and takes it with him before exiting. Willard descends the stairs from Kurtz's chamber and drops his weapon. The villagers do likewise and allow Willard to take Lance by the hand and lead him to the boat. The two of them ride away as the Army tries to reach them on the radio.