Karl La Cour returns to the small town of Kilgore for the first time in fifteen years. A successful attorney, he decides to take two weeks off to decompress and visit his mother, who is laid up with a broken ankle. He reconnects with Silas Greene, his best friend since childhood, a novelist, when Silas’ dog Trevor gets loose and finds Karl. Silas moved back to Kilgore the year before to help take care of his ailing grandfather (Poppi, suffering from Alzheimer’s), with the help of Anna, the live-in caretaker. Karl also meets other kids he went to school with, from Tony the bully to Corinne the party girl, now a single mother with three kids and running the town’s only hotel, while Tony is now a minister.
Both Karl and Silas are gay, and both have been in love with each other since their teenage years, but neither has told the other. They spend time in each other’s company, doing all the things you do in a small town, including volunteering to set up the yearly Christmas Carnival. The only problem is what is a Christmas Carnival without snow, and there hasn’t been any so far.
Things become complicated when Silas’ ex-boyfriend and ex-publisher Stuart comes into town, and all of Silas’ secrets come out into the open when Stuart outs Silas to Karl. He wants Silas to come back to the publishing company and to him. However, he has ulterior motives. No matter what his feelings are, Karl does not want to come between Stuart and Silas if there is a possibility of them getting back together.
Poppi, during one of his cognitive moments, gives advice to Karl about living the life he wants, no matter what anyone else says. Later, Poppi wanders away from home after saying he’s going to ask Martha, his wife, to marry him. The search ends when Karl and Silas find him at the spot Poppi proposed to her, deceased. Silas cries in Karl’s arms. Taking Poppi’s advice, Karl comes out to his mother, and she tells him she knows – and that she’s known he’s in love with Silas.
Armed with information on Stuart, Karl confronts him at the Carnival, with the townspeople. After the truth is revealed, an embarrassed Silas takes off. Karl makes sure that Stuart leaves and goes after Silas. Finding him, he comes out to him and they kiss, just as the snow begins to fall.