The novel is about a West African boy named Agu who is forced to become a child soldier. When war came to his family's small village, Agu’s mother and sister are able to leave with the UN peacekeepers, but Agu is ordered to stay behind and fight with his father and the other men of the village. When soldiers attack the village the men realize that whether they hide or not they will eventually be killed. They mount an attack but Agu runs away at his father's wishes.
Agu hides and is soon found by soldiers, who coerce him to join their rebel force. In a bloody initiation, the commander forces him to kill an unarmed man.
As Agu is forced to leave his childhood behind, he reminisces about the past: his family, his love of reading and school, his dream of becoming an important doctor, and how he used to read the Bible every day. He thinks about how he and his friend used to play at war and how this war is not the same. He fears that God hates him for killing others, but he soon forces himself to believe that this is what God wants, because “he is soldier and this is what soldiers do in war.” He befriends a mute boy named Strika, and together they face the crimes and hardships of war: looting, rape, killing, and starvation.
Agu loses track of time, understanding only that he was a child before that war but has become a man in a seemingly never-ending trial by fire. He wants to stop killing but fears that so doing will get him killed by the Commandant. During this time of war Agu and the army have very little to eat, so they eat what they can: rats, small game, goats, and sometimes other people. The food is not cooked enough for fear that others will see the fire, and the water is known to contain human feces. Agu and other children in the battalion are raped by the Commandant in return for small tokens. While Agu hates the rape he does not resist as he fears he will be killed by the Commandant if he does so.
The Commandant eventually takes the battalion to the village of his birth where they visit a brothel. Commandant's second in command, Luftenant, is stabbed by a prostitute while he is choking and beating her and is replaced by a soldier named Rambo, thus named because of his blood thirst.
His wish to escape the army finally comes true when Rambo leads a successful revolt against the Commandant in a period of agonising lack of basic necessities. Starved, exhausted and bereaved of his only friend, Strika, Agu joins the disbanded soldiers to try to make their way home. Agu ultimately leaves his fellow soldiers.
In time, he comes under the care of a missionary shelter/hospital run by a preacher and a white woman, Amy. Agu gets new clothes and all the food and sleep he wants and regains his health and strength. However, after having lived through a bloody guerrilla war, the Bible no longer holds any meaning for him. Amy invites him to share his thoughts and feelings, and Agu tells her he would like to be a doctor and save lives so as to redeem his sins. He also tells her about all of the evils he has had to commit during the war.