David, a white American expatriate living in the south of France, reminisces about his life. He begins thinking about his ex-fiancée Hella’s return trip to the United States, while his ex-lover, an Italian immigrant named Giovanni, is set to be executed in the morning. As David drinks alone and reflects on his experiences, he recalls his first sexual encounter with another man, a boy from Brooklyn named Joey. Though David enjoys the experience, his insecurity and struggle with masculinity lead him to discard Joey and try to forget the experience altogether. David recollects his upbringing, the death of his mother when he was five, and subsequently his life with his alcoholic father and overbearing aunt, Ellen. David eventually recalls how he too began drinking and acting out. At one point in his youth, David is involved in a drunk driving accident. Worried about his son’s safety and future, David’s father has a heartfelt conversation with David. David placates his father’s worries and joins the army, where he has a sexual encounter with a fellow soldier, and once again struggles with his sexuality. After David returns home from his military service, David decides to move to Paris in order to “find himself.”
After two years of living in Paris, David proposes to Hella, another American, who travels to Spain to think about her decision. Without Hella around to help him pay for his hotel room and because his father is withholding funds from him, David seeks out the help of Jacques, an older gay man he has met in Paris. Jacques gives David some money and the two have dinner before proceeding to spend the evening at a local bar with a gay clientele. While there, David and Jacques notice a new bartender, Giovanni, a handsome Italian immigrant. The patron of the bar, Guillaume, joins David and Jacques, and David eventually sparks up a conversation with Giovanni. David anxiously loosens up to Giovanni, hoping that he doesn’t give Giovanni the impression that he is sexually attracted to him. The four men eventually close the bar in the morning and decide to have breakfast. After eating oysters and drinking wine, Giovanni invites David back to his apartment, where the two have sex.
In the present, David’s recollection of meeting Giovanni is interrupted by the caretaker of the house in which he is staying. After taking inventory of the house, the caretaker advises David to return home to America and to get married and start a family. While tidying the house before his departure in the morning, David begins to acknowledge his role in Giovanni’s fate and imagines what Giovanni will be facing in the morning.
David remembers life in Giovanni’s room and the early stages of their relationship. He then describes the room and his growing contempt and disillusionment with Giovanni. One day, David receives a letter from his father requesting David to return home as well as a letter from Hella informing David of her decision to marry him, along with information about her return to Paris. In an attempt to assert and reclaim his heterosexuality, David has an affair with an acquaintance named Sue, but leaves her apartment feeling more confused and disgusted with himself. When David returns to Giovanni’s room that evening, he finds Giovanni in disarray and learns that Giovanni was fired by Guillaume after Guillaume accused Giovanni of being an ungrateful opportunist and a thief. Their relationship becomes more and more tumultuous following Giovanni’s termination from Guillaume’s bar. David does his best to calm Giovanni during this time, but anxiously anticipates Hella’s return to Paris, so that he can leave Giovanni and Giovanni’s room.
When Hella finally returns to Paris, David decides to abandon Giovanni in the hopes of living a normative heterosexual life with Hella. Three days after her return, Hella and David bump into Jacques and Giovanni. Jacques informs David that Giovanni was in squalor after David left him, and Giovanni says that it was a nasty thing to leave without any notice. David does not divulge his sexual relationship with Giovanni to Hella. Instead, David tells Hella that they were roommates, and that David had to get away from Giovanni as Giovanni was becoming too codependent on David. The following evening, David visits Giovanni’s room to tell him that it is impossible for them to be together. Giovanni tells David about his past, and the two have one final night together. As David and Hella prepare for their future, David sees less and less of Giovanni, though he expresses concern over Giovanni’s relationship with Jacques. Curious about Giovanni’s situation, David has a drink with Giovanni’s friend and learns that Giovanni is no longer with Jacques and that Giovanni might be able to get his job back at Guillaume’s bar.
Less than a week later, David learns that Guillaume has been murdered and that Giovanni is the prime suspect. David learns from the media that Giovanni hid for about a week before being caught by the police. As David reads the headlines, he complains to Hella about Giovanni’s portrayal as a depraved and dirty immigrant while Guillaume is made out to look like the model citizen. David cannot help but think about Giovanni’s encounter with Guillaume, and his suspicion that Giovanni killed Guillaume after rejecting Guillaume’s proposition for sex.
By the time Giovanni is tried for the murder, David and Hella have moved to the south of France. Overcome by guilt and unable to suppress his same-sex desire, David leaves Hella and goes to Nice where he meets a sailor. While at a gay bar with the man, David is surprised to find Hella standing behind him. Upon learning of David’s same-sex desires, Hella makes the decision to leave David and return to the United States. Back in the present, David has finished cleaning the house and packing his bags. While staring into a mirror, David reconstructs Giovanni’s final moments and accepts his culpability in Giovanni’s demise.