Marine Pfc. Santiago is accidentally killed during a hazing ritual known as a Code Red on Guantanamo Bay Naval Base in Cuba. Marine Pfc. Downey and Lance Cpl. Dawson are accused of murdering the victim, but insist that they were given a direct order from Marine Lt. Kendrick (Kiefer Sutherland) to haze Santiago. The death was an unfortunate reaction to the rag placed over Santiago's mouth. Of course the higher-ups deny any such Code Red order was given, and that Santiago was scheduled to be transferred off the island first flight the next morning.
During the investigation, Naval legal officer Lt. Kaffee (Tom Cruise) eventually realizes that all of Santiago's uniforms and gear were still in his wall locker and foot locker, suggesting Santiago never was never given such orders to be transferred. Kaffee decides to go against the warnings of his colleagues (Demi Moore, Kevin Pollack) to not touch Gitmo Commanding Officer Col. Jessup (Jack Nicholson), and Kaffee decides to put the colonel up on the stand. Just when it seems that Kaffee is about to lose his case against Jessup, the Marine colonel ends up letting his pride get in the way while on the stand and finally blurts out that he did indeed order the Code Red hazing on Pfc. Santiago.
Downey and Dawson are found not guilty on all charges except for one: conduct unbecoming of a U.S. Marine. Despite the admission from the colonel while on the stand, the two leathernecks end up being discharged from the Corps.