Port Said, November 1956. 10 year old Sammy, forbidden to leave the house by his mother, plays indoors. The radio carries news of the Suez crisis, while Sammy's parents argue about whether to send the boy to stay with his aunt Jane, at her hotel in Durban. When Sammy's toy helicopter flies out of the window, he runs after it. On the street below, he watches the crowds and the soldiers passing in trucks. He shouts to his friend Mahmoud, but he ignores him.
Sammy heads for the harbour, just as British bombers appear overhead. In the panic, he runs home, but finds his apartment block half-destroyed. Horrified, he watches as his mother's body is brought out.
Mahmoud appears and promises to take care of him, but then attacks him. Sammy runs away. Sammy spends the night among the barbed wire and rubble where his home once stood. Looking at his toy whistle, which doubles as a compass, he decides to head South.
Without money, he continues on foot. In the desert, he meets a Syrian trader, and warily agrees to travel with him. After days of eating only rice, Sammy demands bread. Sammy fetches stones for the fire, but one stone explodes, blinding the Syrian. When Sammy goes to him, the man grabs him and shackles their wrists together.
Next morning, Sammy finds the Syrian dead from his wounds. He frees himself, takes the Syrian's wallet and donkeys, and continues on.
Luxor, Egypt, December 1956. Exhausted and delirious, Sammy is found by an American tourist, Gloria van Imhoff, who takes him to her hotel. Against the advice of her companions, who suspect him of stealing the wallet, she decides to take him to Port Said. At the station, however, Sam grabs the wallet, evades Gloria's guide, Dracondopoulos, and boards a train heading south.
The White Nile, January 1957. Sammy befriends a pilgrim, who helps him buy a boat ticket. Sammy travels in steerage with the pilgrim.
The Sudan, February 1957. Dracondopoulos, sent by Mrs van Imhoff to find Sammy, learns of the boy's arrival. Sammy tries to escape, but Dracondopoulos persuades him to accompany him, telling him they have traced his aunt. Dracondopoulos takes Sammy to a doctor, who gives Sammy an injection and pulls two of his teeth.
Dracondopoulos borrows a jeep to take Sammy to Mrs van Imhoff, but Sammy realises they are no longer heading south, and when Dracondopoulos stops to relieve himself, the boy disables the jeep and runs off.
Dracondopoulos alerts the English authorities who, realising that Sammy is in the same region as diamond smuggler Cocky Wainwright, agree to conduct a search. Mrs van Imhoff has returned to America, leaving Dracondopoulos frustrated and out of pocket.
Sammy meets and befriends Cocky Wainwright, who invites him to his camp and gives him a pet bush monkey. Sammy decides to stay with him for a while. Cocky teaches him to shoot.
Cocky takes Sammy hunting, and one of Cocky's men is attacked by a leopard. Just as Cocky himself is about to be attacked, Sammy shoots the leopard dead. Sammy grins with pride, until he sees the leopard's orphaned cub.
Cocky presents Sammy with the leopard skin. Cocky's partner, Lem, a pilot, argues with Cocky, complaining that the authorities are looking for Sammy. But when Sammy asks to stay, Cocky agrees. When Lem protests, Cocky offers to buy him out.
Next day, the authorities arrive. Cocky tries to persuade Sammy to go in Lem's plane, but Sammy insists on following Cocky. Cocky lies that he only let him stay with him to collect a reward. As Lem prepares to take off, Sammy's pet monkey escapes, and Sammy runs after it. Lem leaves without him.
Devastated, Sammy watches the authorities demolish the camp. Later, Lem returns, and offers to take Sammy where he can get a train to Durban.
In his prison cell, Cocky is visited by Sammy's aunt. He persuades her to allow Sammy to finish his journey without help.
Durban, March 1957. Sammy makes his way to the hotel, and meets aunt Jane. He sees the leopard skin. Sammy tells her when he grows up he will have his own diamond mine.