The film takes place in South Africa around the time of Nelson Mandela's release from jail. It chronicles 14 year old John Milton's (Troye Sivan) first year at Michael house, an elite boarding school for boys.
When John arrives for the first time at the school, he gets nicknamed "Spud" by the other boys because he was yet to experience puberty. All eight boys in his dormitory get nicknames. They are also called the "Crazy Eight". Spud finds it difficult to make friends and fit in. He befriends Mr Edly, a teacher nicknamed "The Guv", after he is the only one in the English class to pass an exam. The Guv frequently lends English literature books to Spud and invites him to lunch regularly. But Spud soon realizes that Edly has marital problems, and is an alcoholic.
While back at home for the holidays, Spud falls in love with Debbie, the daughter of one of his mother's friends, whom he nicknames "The Mermaid." When Spud returns to the school, he sees a flyer for the school play Oliver Twist. Spud decides to audition so he can fit in. He ends up landing the lead role of Oliver. During practice, Spud meets Amanda, a girl from the nearby school St. Catherine's, and immediately falls for her. But he soon realizes that she has a boyfriend already, and he cannot form a relationship with her without cheating on Debbie, whom he still loves. He seeks the advice of his roommate Gecko, who tells Spud to pretend he loves another girl named Christine, in order make Amanda jealous.
Spud and Gecko begin to build a strong friendship and they occasionally visit a rock at the top of the hill near the school. In the fourth term, Gecko is diagnosed with cerebral malaria that he got during his holiday to Mozambique. A few days later he passes away. Spud mourns the death of Gecko and the whole school attends his funeral service in the school's chapel.
In the end, Spud performs in the school's play and gets a standing ovation. After the performance, he is dragged away from the post-performance celebration by Amanda, and they go to a nearby field. There, she tells him to kiss her. Spud, however, stops at the last moment and rejects her, deciding to stay true to Debbie. He offers to give Debbie a tour of the school, and kisses her in the middle of the quadrangle, which his dorm-mates witness from their window. After he returns, he is praised by the group, and finally fits in. The movie ends with Spud, on the final day of the year, sitting on the same rock he and Gecko used to frequent overlooking the school, and remarking that "God gives us choices. But sometimes, God gives us no choice. He deals us the cards, and we play them."