Frederic Henry –trasunto del mismo Hemingway- es teniente de sanidad durante la primera guerra mundial. Se encuentra al mando de una unidad de ambulancias. Norteamericano, se ha alistado voluntariamente en el ejército italiano que se enfrenta a los austriacos en las faldas de los Alpes. Durante un bombardeo el refugio en el que se encuentra su unidad se hunde sobre los hombres. Frederic es evacuado a un hospital de Milán. El centro está atendido por enfermeras inglesas y el teniente vive un idilio con la enfermera Barkley.