Against the wishes of the Bishop, Father Damian (
Alan Devlin), the principal of St. Jude's Reformatory School, appoints William Franklin (
Aidan Quinn) as the only lay teacher amongst a staff of Catholic Brothers, headed by the prefect, Brother John (
Iain Glen).
Franklin's teaching methods are diametrically opposed to those of the Brothers, who revert to the usage of verbal and physical abuse. Franklin tries to build a relationship based on trust with the boys, unlocking their hidden talents, teaching them to read and appreciate poetry, recruiting Liam Mercier (John Travers), an exceptionally talented boy to help him take on the challenge. Discovering the same kind of repression and tyranny he fought against in Spain at St. Jude's, Franklin continues to have flashbacks from his days in the Spanish Civil War and the part of his life that he lost.
When on Christmas day, Brother John gratuitously beats two young brothers who have broken a school rule, Mercier and Franklin curtail the violence but not for long: Brother John's determination to find out why Franklin has decided to teach at St. Jude's, results in more brutality, with unimaginable consequences.