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 (Jack Hawkins) and his daughter (Ulla Jacobsson), Zulu King Cetewayo (Chief Mangosuthu Buthelezi) 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 (Stanley Baker) of the Royal Engineers assumes command of the small British detachment. Lieutenant Gonville Bromhead (Michael Caine), an infantry officer, is rather put out to find himself subordinate to an engineer due to the latter's slightly earlier commission. Realising that they cannot outrun the Zulu army with wounded soldiers, Chard decides to make a stand at the station, using wagons, sacks of mealie, and crates of ship's biscuit to form a defensive perimeter to counter the Zulu nation's deadly effective Bull tactical enveloping formation. Witt becomes drunk and demoralises the men with his overtly dire predictions; the soldiers of the Natal Native Contingent desert. Chard orders Witt to be locked up in a supply room.
As the Zulu impis approach, 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. The Zulu army approach and then charge. The British open fire, but Adendorff informs them that the Zulus are only testing the British firepower. Witt again predicts the soldiers' inevitable fate, before being driven from the battle with his daughter. 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 (James Booth) takes charge and successfully leads the patients to safety.
The next morning, the Zulus approach to within several hundred yards and begin singing a war chant; the British respond by singing "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 seamlessly fire volley after volley, inflicting heavy casualties; the Zulus withdraw. After a pause of three hours, the defenders are still recovering when the Zulus re-form again 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.