A Farewell to Arms begins in the Alps around the frontier between Italy and present-day Slovenia. Allied with Britain, France, and Russia against the Austro-Hungarian Empire and Germany, Italy is responsible for preventing the Austro-Hungarian forces from assisting the Germans on the war's western front, and Russia in the east. The novel's narrator and protagonist is eventually identified as Lieutenant Frederic Henry, an American who has volunteered for the Italian army because the United States has not yet entered the war. Henry supervises a group of Italian ambulance drivers.
After a wintertime leave spent touring the country, Lieutenant Henry returns to the captured town at the front where his unit lives. One evening his roommate, a surgeon and lieutenant in the Italian army named Rinaldi, introduces Henry to two British nurses: Catherine Barkley and her friend Helen Ferguson. Catherine and Henry talk of the war and of her fiancé, killed in combat the year before; clearly she has been traumatized by the experience. On his second visit to the British hospital, they kiss. When Henry again visits Catherine, she tells him that she loves him and asks whether he loves her. He responds that he does.
One night, Lieutenant Henry and his fellow ambulance-drivers settle into a dugout across the river from the enemy troops. While the drivers are eating, the Austrian bombardment wounds Henry in the leg and kills one of the other drivers. Henry is transported by train to an American hospital in Milan.
Catherine Barkley arrives at the hospital, to which she has been transferred. Once again, she and Lieutenant Henry declare their love for each other, after which they have sex in the hospital bed. Henry and Catherine spend the summer together while he recuperates from an operation on his leg, visiting restaurants around Milan in the evening and then spending nights together. At summer's end, however, Lieutenant Henry is ordered back to the front, and Catherine tells him she is three months pregnant. On their last evening together in Milan, Henry buys a pistol, and he and Catherine take a room in a hotel.
Soon after Lieutenant Henry's return to the front, the Austrians (now joined by German troops) bombard the Italian army and eventually break through the lines near the town of Caporetto. Henry and the other ambulance drivers retreat with the rest of the Italian forces in a long, slow-moving column of troops and vehicles. They pick up two Italian engineer-sergeants. Finally, the ambulances pull off the main road. When one of the vehicles becomes stuck in the mud, the two sergeants refuse to assist in the effort to dislodge it and disobey Lieutenant Henry's order to remain with the group. He fires at them, wounding one; another ambulance driver then uses Henry's pistol to finish the job. Henry and the three drivers abandon the ambulances and set out on foot for the Tagliamento River, across which lies safety.
Soon they spot German soldiers in the distance. One driver is shot to death by fellow Italians firing in error. Another driver flees, to surrender to the Germans. Finally safe from the enemy, Lieutenant Henry observes that Italian army officers like himself are being shot by the military police for deserting their troops. He also fears being mistaken for a German spy. And so he dives into the Tagliamento River, deserting the Italian army, and swims ashore downstream. Henry crosses part of the Venetian plain on foot, then boards a moving train, hiding among guns stored beneath a tarpaulin.
Frederic (no longer Lieutenant) Henry arrives in Milan, incognito. Catherine Barkley and Helen Ferguson are absent from the hospital, having gone on holiday to the Italian resort town of Stresa. So Henry travels via train to Stresa, where he finds Catherine and Helen. Discovering late one night that Henry will be arrested as a deserter in the morning, Henry and Catherine quickly prepare to escape into neutral Switzerland. Through the stormy night, they travel in a small, open boat across Lake Maggiore. The following day they are arrested and briefly detained by Swiss officials, after which they are released.
Frederic Henry and Catherine Barkley move into a chalet on a mountain above Montreaux and spend an idyllic winter there. At winter's end, they leave the mountains for a hotel in Lausanne. Finally, Henry takes Catherine to the hospital, where her baby is stillborn. Then, as a result of multiple hemorrhages, Catherine dies as well.