1917. Le lieutenant Frederic Henry est envoyé dans le corps sanitaire de l'armée italienne. Il s'éprend d'une infirmière anglaise, Catherine. Mais celle-ci ne peut se marier sinon elle serait renvoyée. Blessé, Henry est transporté dans un hôpital américain de Milan où Catherine, grâce à diverses ruses, pourra le rejoindre.