At Fort Polk, Louisiana, in September of 1971, Private Bozz (Colin Farrell
) joins an infantry company after spending time in corrective custody, set for eight weeks of training to be concluded with a final test at Tigerland, a U.S. training ground that serves as the last stop before Vietnam. Bozz has no desire to go to war and acts like it. Even though his weekend leave is withdrawn he still goes to town and ends up going to a hotel room with two girls and fellow soldier Paxton (Matthew Davis
). Bozz and Paxton make friends despite their different outlooks; Paxton has enlisted for service and wants to go to Nam for the experience.
At the base, while Bozz shows that he is capable of being a good soldier when he wants to, he continues to attract disciplinary penalties as well as the anger of fellow privates, especially one named Wilson (Shea Whigham
). The higher ranked personnel are abusive, especially Sergeant Thomas (James MacDonald
), who one night knocks young Private Cantwell (Tom Guiry
) to pieces. When Bozz learns that Cantwell is married and a father to four children he helps Cantwell get out of military duty. Soon after, Private Miter (Clifton Collins Jr.
), made platoon leader, is left a nervous wreck when officers abuse him for not managing to control his group. Though Bozz continues to disobey orders, Sergeant Landers (Afemo Omilami
) is determined to turn him into a soldier and makes him new platoon leader. When Miter breaks down and wants to leave base, Bozz helps him get out of the army for mental health reasons. Bozz soon has a reputation for getting soldiers discharged, and his superiors don't like it one bit. On the weekend before Tigerland, Private Wilson starts a fight with Bozz; when Bozz wins the fight, their animosity is sharpened. At shooting practice soon after, Wilson almost shoots Bozz, stopped only by a weapon malfunction, and Captain Saunders (Nick Searcy
) removes Wilson from the platoon.
Tigerland. Under the supervision of Sergeant Cota (Cole Hauser
), who shares his own experiences from Vietnam, the men make their way into the forests. Paxton falls behind, exhausted. When they face another platoon in a war simulation, Wilson turns out to be leading the other platoon. He loses his temper with Bozz and Paxton, and his platoon loses the exercise. At night, Bozz is about to make an escape when Private Johnson (Russell Richardson
) convinces him to stay. Next morning they once again engage Wilson's platoon in an exercise. As Bozz leads his mean down a stream, Wilson organizes an ambush and loads his gun with live ammunition. When Bozz comes into sight he shoots; he misses, and Cota disarms him, but Bozz uses a moment of confusion to shoot a blank at Paxton's head so that he can't go to Vietnam.
In the final scene, Paxton thanks Bozz and says goodbye as the platoon leave on a bus. Paxton says he will write a book about Bozz, but Bozz has Paxton's notebook and starts tearing it up as the bus drives away. Paxton's narration tells us he never saw Bozz again and can't be sure what happened to him.