During World War I, Army Private Arthur James Hamp is accused of desertion during battle. The officer assigned to defend him at his court-martial, Captain Hargreaves, finds out there is more to the case than meets the eye.

Dirk Bogarde
as Capt. Hargreaves

Tom Courtenay
as Pvt. Arthur Hamp

Leo McKern
as Capt. O'Sullivan

Peter Copley
as Colonel

Barry Foster
as Lt. Webb

Barry Justice
as Lt. Prescott

James Villiers
as Capt. Midgley

Jeremy Spenser
as Pvt. Sparrow

Vivian Matalon
as Padre

Keith Buckley
as Corporal of Guard