The novel is divided into five sections. In the first, Frederic Henry, an American paramedic serving in the Italian Army, is introduced to Catherine Barkley, an English nurse, by his good friend and roommate, Rinaldi, a surgeon. Frederic attempts to seduce her; although he doesn't want a serious relationship, his feelings for Catherine build. Frederic is wounded in the knee by a mortar on the Italian Front and sent to a hospital in Milan, where Catherine is also sent.
The second section shows the growth of Frederic and Catherine's relationship as they spend time together in Milan over the summer. Frederic and Catherine gradually fall in love. After his knee heals, Frederic is diagnosed with jaundice but is soon kicked out of the hospital and sent back to the front after it is discovered he concealed alcohol. By the time he is sent back, Catherine is three months pregnant.
In the third section, Frederic returns to his unit, and discovers morale has severely dropped. Not long afterwards, the Austro-Hungarians break through the Italian lines in the Battle of Caporetto, and the Italians retreat. Due to a slow and chaotic retreat, Frederic and his men go off trail and quickly get lost, and a frustrated Frederic kills a sergeant for insubordination. After catching up to the main retreat, Frederic is taken to a place by the "battle police," where officers are being interrogated and executed for the "treachery" that supposedly led to the Italian defeat. However, after seeing and hearing that everyone interrogated has been killed, Frederic escapes by jumping into a river. He heads to Milan to find Catherine only to discover that she has been sent to Stresa.
In the fourth section, Catherine and Frederic reunite and spend some time in Stresa before Frederic learns he will soon be arrested. He and Catherine then flee to neutral Switzerland in a rowboat given to him by a barkeep. After interrogation by Swiss authorities, they are allowed to stay in Switzerland.
In the final section, Frederic and Catherine live a quiet life in the mountains until she goes into labor. After a long and painful birth, their son is stillborn. Catherine begins to hemorrhage and soon dies, leaving Frederic to return to their hotel in the rain.