Giovanni's Room is the story of an American newlywed, David, and his tumultuous affair with a Parisian bartender named Giovanni while alone on holiday in Paris. The novel is one of the earliest instances of a sympathetic portrayal of homosexual characters in Western literature. David wrestles with his sexual identity and with his marriage, which eventually crumbles. Giovanni himself commits a murder of passion and is executed, shattering David completely.
David, in the South of France, is about to board a train back to Paris. His girlfriend Hella, to whom he had proposed before she went to Spain, has returned to the United States. As for Giovanni, he is about to be guillotined.
David remembers his first experience with a boy, Joey, who lived in Brooklyn. The two bonded and eventually had a sexual encounter during a sleepover. The two boys began kissing and making love. The next day, David left, and a little later he took to bullying Joey in order to feel like a real man.
David now lives with his father, who is prone to drinking, and his aunt, Ellen. The latter upbraids the father for not being a good example to his son. David's father says that all he wants is for David to become a real man. Later, David begins drinking, too, and drinks and drives once, ending up in an accident. Back home, the two men talk, and David convinces his father to let him skip college and get a job instead. He then decides to move to France to find himself.
After a year in Paris, penniless, he calls Jacques, an older homosexual acquaintance, to meet him for supper so he can ask for money. (In a prolepsis, Jacques and David meet again and discuss Giovanni's fall.) The two men go to Guillaume's gay bar. They meet Giovanni, the new bartender, at whom Jacques tries to make a pass, until he gets talking with Guillaume. Meanwhile, David and Giovanni become friends. Later, they all go to a restaurant in Les Halles. Jacques enjoins David not to be ashamed to feel love; they eat oysters and drink white wine. Giovanni recounts how he met Guillaume in a cinema, how the two men had dinner together because Giovanni wanted a free meal. He also explains that Guillaume is prone to making trouble. Later, the two men go back to Giovanni's room and they have sex.
Flashing forward again to the day of Giovanni's execution, David is in his house in the South of France. The caretaker comes round for the inventory, as he is moving out the next day. She encourages him to get married, have children, and pray.
David moves into Giovanni's small room. They broach the subject of Hella, about whom Giovanni is not worried, but who reveals the Italian's misogynistic prejudices about women and the need for men to dominate them. David then briefly describes Giovanni's room, which is always in the dark because there are no curtains and they need their own privacy. He goes on to read a letter from his father, asking him to go back to America, but he does not want to do that. The young man walks into a sailor; David believes he thinks David is a gay man, though it is unclear whether this is true or the sailor is just staring back at David.
A subsequent letter from Hella announces that she is returning in a few days, and David realizes he has to part with Giovanni soon. Setting off to prove to himself that he is not gay, David searches for a woman with whom he can have sex. He meets a slight acquaintance, Sue, in a bar and they go back to her place and have sex; he does not want to see her again and has only just her to feel better about himself. When he returns to the room, David finds a hysterical Giovanni, who has been fired from Guillaume's bar.
Hella eventually comes back and David leaves Giovanni's room with no notice for three days. He sends a letter to his father asking for money for their marriage. The couple then walks into Jacques and Giovanni in a bookshop, which makes Hella uncomfortable because she does not like Jacques's mannerisms. After walking Hella back to her hotel room, David goes to Giovanni's room to talk; the Italian man is distressed. David thinks that they cannot have a life together and feels that he would be sacrificing his manhood if he stays with Giovanni. He leaves, but runs into Giovanni several times and is upset by the "fairy" mannerisms which he is developing and his new relationship with Jacques, who is an older and richer man. Sometime later, David walks into Yves and finds out Giovanni is no longer with Jacques and that he might be able to get a job at Guillaume's bar again.
The news of Guillaume's murder suddenly comes out, and Giovanni is castigated in all newspapers. David fancies that Giovanni went back into the bar to ask for a job, going so far as to sacrifice his dignity and agree to sleep with Guillaume. He imagines that after Giovanni has compromised himself, Guillaume makes excuses for why he cannot rehire him as a bar-tender; in reality they both know that Giovanni is no longer of interest to Guillaume's bar's clientele since so much of his life has been played out in public. Giovanni responds by killing Guillaume in rage. Giovanni attempts to hide, but he is discovered by the police and sentenced to death for murder. Hella and David then move to the South of France, where they discuss gender roles and Hella expresses her desire to live under a man as a woman. David, wracked with guilt over Giovanni's impending execution, leaves her and goes to Nice for a few days, where he spends his time with a sailor. Hella finds him and discovers his homosexuality, which she says she suspected all along. She bitterly decides to go back to America. The book ends with David's mental pictures of Giovanni's execution and his own guilt.