Raina is in her bedroom on the second floor of the Petkoff house in a small town in Bulgaria when her mother enters to tell her that Sergius has just led the Bulgarians to victory in battle with the Serbs. Raina rejoices; her idealistic expectations of war and soldiers are met. Louka enters to tell them that the army orders them to lock all the doors and windows while enemy stragglers are being pursued. Catherine and Louka leave. Shots are heard outside and a man stumbles into the room. He is a Serbian artillery officer, exhausted, nervous, and hungry. When soldiers appear at the door, demanding to search the room, Raina on impulse hides the man and tells them no one else is there.
Raina and the man talk. She expresses her contempt for his being a coward and for his stuffing his pockets with chocolate instead of ammunition. He tries to explain to her the realities of battle and identifies her portrait of Sergius as the man who led the charge that won the battle; the Bulgarians won only because the Serbians had the wrong-size ammunition. The man describes Sergius as a romantic fool who won by doing the professionally wrong thing. Raina objects strongly to this, but when the man decides to leave, Raina says she will save him and goes in search of her mother; they return to find him fast asleep on the bed.
Four months later, Nicola and Louka are arguing in the Petkoffs’ garden. Nicola wants Louka to be more polite to the Petkoffs because he intends to set up a shop and is counting on the Petkoffs as his principal customers. Major Petkoff returns from the war and is greeted by his wife, Catherine. Sergius is shown in. Bitter because the army refuses to promote him, he declares his intention to resign. Sergius and Petkoff speak of a tale they heard of a Swiss officer being rescued by two Bulgarian women. At this point, Raina leaves, and when Louka enters, Sergius attempts to flirt with her. Louka tells him that she knows a secret about Raina and a strange man. When they are alone, Raina and Catherine discuss the Swiss soldier. Raina leaves and Louka announces a Captain Bluntschli, who comes to return a coat Raina and Catherine loaned him. Catherine begs him not to reveal who helped him. Petkoff appears and asks Bluntschli to stay to help with some transportation matters. When Raina enters, she manages to cover up her surprise at seeing Bluntschli.
After lunch that day, Petkoff and Sergius are in the library, writing orders for troop movements. Petkoff wants his comfortable old coat and Catherine says it is in the closet (where she put it after getting it back from Bluntschli). Nicola returns with the coat and all leave except Raina and Bluntschli, who discuss lies, gratitude, and the differences between practicality and the false ideals of romanticism. Bluntschli sees through her pretense of noble ideals and Raina admits that he found her out. Raina tells Bluntschli that she put a photograph of herself in the pocket of the coat, but Bluntschli never found it. He receives mail that was collected for him, among which is the news that his father is dead and left him a number of big hotels.
In a discussion between Louka and Nicola, Nicola suggests that it would be best if Louka and Sergius marry and become his valued customers. Sergius enters and, after Nicola leaves, flirts again with Louka; he is still disillusioned about life and by his own inability to measure up to his ideals. Louka tells him that Raina is sure to marry Bluntschli, so when Bluntschli enters, Sergius challenges him to a duel. Bluntschli agrees and, being a practical man, chooses machine guns. Raina enters and wants to know why they are going to fight; she suspects what has been going on with Louka and has become disenchanted with Sergius, who concludes that life is a farce and that there is now no need for a duel. Raina says that Sergius should fight Nicola, since he is Louka’s fiancé, information that disillusions Sergius even more.
When Petkoff enters and wants his coat again, Raina helps her father put it on and takes the opportunity to slip the photograph out of the pocket. Her father already found the picture, however, and wants to know the meaning of the inscription, “Raina, to her Chocolate Cream Soldier: a Souvenir.” Thereupon, Bluntschli reveals that he is the chocolate cream soldier; Louka and Sergius become engaged; and Bluntschli laments that despite his practicality he always had a romantic streak—he returned the coat in person, hoping to see Raina again. When he discovers that Raina is really twenty-three, not seventeen, as he supposed, he proposes to her and is accepted. As Bluntschli leaves, Sergius supplies the final comment: “What a man! Is he a man!”