In 1967, U.S. Army volunteer Chris Taylor arrives in South Vietnam and is assigned to an infantry platoon of the 25th Infantry Division near the Cambodian border. The platoon is officially led by the young and inexperienced Lieutenant Wolfe, but in reality, the soldiers defer to two of his older, more experienced subordinates: the hardened and cynical Sergeant Barnes, and the more idealistic and reasonable Sergeant Elias.
Chris is immediately sent out with Barnes, Elias, and veteran soldiers on a planned night ambush for a North Vietnamese army force. The NVA soldiers manage to get close to the sleeping Americans before a brief firefight ensues; Chris's fellow new recruit Gardner is killed and Chris himself lightly wounded. After his return from the hospital, Chris bonds with Elias and his circle of marijuana-smokers while remaining aloof from Barnes and his more hard-edged followers.
During a subsequent patrol on New Year's Day 1968, three men are killed by bamboo spike traps, and unseen assailants. Already on edge, the platoon is further angered when they discover an enemy supply and weapons cache in a nearby village. Barnes, through a Vietnamese-speaking soldier, Lerner, aggressively interrogates the village chief about whether the villagers have been aiding the NVA. In a fit of anger, Barnes shoots the chief's wife dead after she shouts at him and threatens to kill the chief's daughter. Elias then arrives, getting into a physical altercation with Barnes over the killing before Wolfe breaks it up and orders the supplies destroyed and the village razed. The blaze causes a few of the burning homes to explode, suggesting they contained hidden munitions kept by the villagers. Chris later stops a gang rape of two girls by some of Barnes' men.
When the platoon returns to base, the veteran company commander Captain Harris declares that if he finds out that an illegal killing took place, a court-martial will ensue, leaving Barnes worried that Elias will testify against him. On their next patrol, the platoon is ambushed and pinned down in a firefight, in which numerous soldiers are wounded. More men are wounded when Lieutenant Wolfe accidentally directs an artillery strike onto his own unit before Barnes calls it off. Elias takes Chris and two other men to intercept flanking enemy troops. Barnes orders the rest of the platoon to retreat and goes back into the jungle to find Elias's group. Barnes finds Elias alone and shoots him, then returns and tells Chris that Elias was killed by the enemy. While the platoon is being extracted via helicopter, they glimpse Elias, mortally wounded, emerging from the treeline and being chased by a group of North Vietnamese soldiers, who kill him. Chris surmises that Barnes was responsible for mortally wounding Elias.
At the base, Chris attempts to talk his group into fragging Barnes in retaliation when Barnes, having overheard them, enters the room and mocks them. Chris assaults the intoxicated Barnes but is quickly overpowered. Barnes seems ready to kill Chris, but Rhah tells Barnes that it is not worth ten years in prison for killing an enlisted soldier, so instead Barnes cuts Chris near his eye with a push dagger before departing.
The platoon is sent back to the front line to maintain defensive positions, where Chris shares a foxhole with Francis. That night, a major NVA assault occurs, and the defensive lines are broken. Most of the platoon, including Wolfe and most of Barnes' followers, are killed in the ensuing battle. Sgt. O'Neill, known for shirking duties and being one of Barnes' lackeys, hides under a dead soldier to avoid being seen. Chris, along with Francis, finds his courage and counterattacks, killing many of the invading NVA. Chris even leaves the fighting hole to pursue the enemy. During the attack, an NVA sapper, armed with explosives, destroys the battalion headquarters in a suicide attack. Now in command of the defense, Captain Harris orders his air support to expend all their remaining ordnance inside his perimeter. During the chaos, Chris encounters Barnes, who is wounded and driven to insanity. Just as Barnes is about to kill Chris, both men are knocked unconscious by the air strike.
Chris regains consciousness the following morning, picks up an enemy rifle, and finds Barnes, who orders him to call a medic. Seeing that Chris will not help, Barnes contemptuously orders Chris to kill him; Chris does so. Francis, who survived the battle unharmed, deliberately stabs himself in the leg and reminds Chris that because they have been twice wounded, they can return home. Chris waves goodbye to the remaining troops as helicopters carry him and Francis away along with other wounded soldiers. Overwhelmed, Chris sobs as he glares down at craters full of corpses. In a voice-over, he says that although the war is now over for him, it will remain with him for the rest of his life.
Charlie Sheen as Chris Taylor
Tom Berenger as SSG. Bob Barnes
Willem Dafoe as Sgt. Elias
Keith David as King
Forest Whitaker as Big Harold
Francesco Quinn as Rhah
Kevin Dillon as Bunny
John C. McGinley as Sgt. Red O'Neill
Reggie Johnson as Junior
Mark Moses as Lt. Wolfe
Corey Glover as Francis
Johnny Depp as Lerner
Chris Pedersen as Crawford
Bob Orwig as Gardner
Corkey Ford as Manny
David Neidorf as Tex
Richard Edson as Sal
Tony Todd as Sgt. Warren
Dale Dye as Captain Harris