In 1879, a communiqué from Lord Chelmsford to the Secretary of State for War in London (voice-over narration by Richard Burton) details the crushing defeat of a British force at the hands of the Zulus at the Battle of Isandlwana. In the aftermath of the battle, the victorious Zulus walk amongst the scattered bodies of dead British soldiers and gather their rifles. At a mass Zulu marriage ceremony witnessed by missionary Otto Witt and his daughter, Zulu King Cetewayo is also informed of the great victory.
A company of the British Army's 24th Regiment of Foot is using the missionary station of Rorke's Drift in Natal as a supply depot and hospital for their invasion force across the border in Zululand. Receiving news of Isandhlwana from the Natal Native Contingent Commander Adendorff, who warns that an army of 4,000 Zulu warriors is advancing to the British position, Lieutenant John Chard of the Royal Engineers assumes command of the small British detachment, as he is slightly senior to Lieutenant Gonville Bromhead, an infantry officer. Realising that they cannot outrun the Zulus with wounded soldiers, Chard decides to make a stand at the station, using wagons, sacks of mealie (maize), and crates of ship's biscuit to form a defensive perimeter.
A contingent of Boer horsemen arrives. They advise Chard that defending the station is hopeless. They retreat in haste, despite Chard's desperate pleas for them to stay. Witt demoralises the men with his overtly dire predictions, and the soldiers of the Natal Native Contingent desert. Chard orders Witt to be locked up in a supply room.
The Zulu impis approach and then charge. The British open fire, but Adendorff informs them that the Zulus are only testing the British firepower. Witt becomes drunk and again proclaims that the soldiers will die, prompting Chard to dismiss him and his daughter from Rorke's Drift. Chard is concerned that the northern perimeter wall is undermanned and realises that the attack will come from all sides. The defenders are surprised when the Zulu warriors open fire on the station with rifles taken from the British dead at Isandlwana.
Throughout the day and night, wave after wave of Zulu attackers are repelled. The Zulus succeed in setting fire to the hospital, leading to intense fighting between British patients and Zulu warriors, as the former try to escape the flames. Private Henry Hook takes charge and leads the patients to safety.
The next morning, the Zulus approach to within several hundred yards and begin a war chant; the British respond by singing the Welsh song "Men of Harlech". In the final assault, just as it seems the Zulus will finally overwhelm the tired defenders, the British soldiers fall back to a small redoubt constructed out of mealie bags. With a reserve of soldiers hidden within the redoubt, they form into three ranks and fire volley after volley, inflicting heavy casualties; the Zulus retreat. After a pause of three hours, the Zulus re-form on the Oscarberg. Resigned to another assault, the British are astonished when the Zulus instead sing a song to honour the bravery of the defenders before departing.
The film ends with another narration by Richard Burton, listing the eleven defenders who received the Victoria Cross for the defence of Rorke's Drift, the most awarded to a regiment in a single action up to that time.
Stanley Baker as Lieutenant John Chard
Michael Caine as Lieutenant Gonville Bromhead
Jack Hawkins as Reverend Otto Witt,
Ulla Jacobsson as Margareta Witt
Chief Mangosuthu Buthelezi as King Cetshwayo,
James Booth as Private Henry Hook,
Nigel Green as Colour sergeant Frank Bourne
Paul Daneman as Sergeant Robert Maxfield,
Joe Powell as Sergeant Windridge
Ivor Emmanuel as Private Owen,
Glynn Edwards as Corporal William Allen,
Neil McCarthy as Private Thomas,
David Kernan as Private Frederick Hitch
Gary Bond as Private Cole
Peter Gill as Private 612 John Williams,
Richard Davies as Private 593 William Jones
Denys Graham as Private 716 Robert Jones
Patrick Magee as Surgeon-Major James Henry Reynolds
Dickie Owen as Corporal Frederick Schiess,
Gert van den Bergh as Lieutenant Gert Adendorff,
Dennis Folbigge as Commissary James Langley Dalton
Larry Taylor as Hughes
Kerry Jordan as Louis Byrne,
Harvey Hall as Sick man