The novel tells the story of a British officer, Harry Faversham, who resigns from his commission in the Royal North Surrey Regiment just after Lord Garnet Wolseley's 1882 expedition to Egypt to suppress the rising of Colonel Ahmed Orabi. He is censured for cowardice by three of his comrades, Captain Trench as well as Lieutenants Castleton and Willoughby, which is signified by their delivery of three white feathers to him. His fiancée, Ethne Eustace, breaks off their engagement and also gives him a white feather. His best friend in the regiment, Captain Durrance, becomes a rival for Ethne.
Harry talks with Lieutenant Sutch, a friend of his father, who is an imposing retired general. He questions his own motives, but says he will redeem himself by acts that will convince his critics to take back the feathers. He travels on his own to Egypt and Sudan, where in 1882 Muhammad Ahmed proclaimed himself the Mahdi (Guided One) and raised a Holy War. On 26 January 1885, his Dervish forces captured Khartoum and killed its British governor, General Charles George Gordon. Most of the action over the next six years takes place in the eastern Sudan, where the British and Egyptians held Suakin. Durrance is blinded by sunstroke and invalided. Castleton is reportedly killed at Tamai, where a British square is briefly broken by a Mahdi attack.
Harry's first success comes when he recovers lost letters of Gordon. He is aided by a Sudanese Arab, Abou Fatma. Later, disguised as a mad Greek musician, Harry gets imprisoned in Omdurman, where he rescues Captain Trench, who had been captured on a reconnaissance mission. They escape.
Learning of his actions, Willoughby and Trench give Ethne the feathers they had taken back from Harry. He returns to England, and sees Ethne for what he thinks is one last time, as she has decided to devote herself to the blind Durrance. But Durrance tells her his blindness is incurable and frees her for Harry. Ethne and Harry wed, and Durrance travels to "the East" as a civilian.