Tom Crick (Jeremy Irons), a middle-aged and childless history teacher at a private high school in the U.S., begins straying from his lectures during class. He begins telling his students stories of his family and childhood love Mary (now his wife) in the waterland area known as the Fens in England. It soon appears that his mental unravelling is due to his worry over Mary's suddenly imagining that she is pregnant. The cause of Mary's delusion (and the reason why having a baby is impossible) is ultimately revealed through Tom's loose and frankly sexual reminisces. His students grow increasingly confused as he goes on to tell them of his grandfather going mad after the first world war and his mother's turning the family brewery into an asylum for him and soldiers who have been shell-shocked.
When he tells the class about his earliest sexual encounters with Mary and how she seeks to please him by attempting to initiate his mentally retarded older brother Dick into intercourse too, some shocked students report him to the headmaster and Tom's career at the school is finished. A further crisis happens when he returns home to find Mary has actually come home with a baby. In seeking to find the child's origins, he loses Mary and becomes totally isolated, except for one loyal student (Ethan Hawke) whom he has somehow won over. Tom's only hope seems to be to go on telling his stories, even at his farewell speech to the school, until they tear open the mystery that has denied him and Mary a child and transformed the simple, gentle Dick into a horror.
The movie is often filmed with Tom's character and class moving amidst and interacting with the historical scenes he recounts, a visual effect that destabilizes viewers as much as it portrays Tom's mental slippage.