Romaanin päähenkilö on Italian armeijassa ensimmäisessä maailmansodassa palveleva amerikkalainen luutnantti Frederic Henry. Rintamalla Henry tapaa sairaanhoitajana toimivan englantilaisen Catherine Barkleyn ja he rakastuvat pian toisiinsa. Henry haavoittuu kranaatin sirpaleesta ja hänet lähetetään toipumaan sisämaahan, jonne Barkley seuraa häntä. Henry ja Barkley saavat hetken ajan elää onnellista elämää yhdessä ja Barkley tulee raskaaksi. Pian raskaaksi tulemisen jälkeen Henry kuitenkin lähetetään takaisin rintamalle. Pian Henryn paluun jälkeen Italian rintamalinja murtuu ja italialaisten joukot aloittavat sekasortoisen perääntymään. Perääntymisen aikana Henry teloittaa yhden karkuun yrittävän sotilaan, mutta joutuu myöhemmin itse teloituskomppanian eteen sotapoliisien etsiessä perääntyjien joukosta pakenevia upseereita, joita sotapoliisit pitävät maanpettureina näiden jätettyä asemansa. Henry pääsee kuitenkin pakenemaan teloituskompaniaa ja matkustaa salaa Barkleyn luokse. Viranomaisten jahtaamana Henry ja Barkley päättävät lopulta paeta soutuveneellä Sveitsiin.