The play begins in the fall of 1885 during the Serbo-Bulgarian War. Raina, a Bulgarian woman from a wealthy family, learns from her mother, Catherine, that the Bulgarian cavalry have won a battle against the Serbs. Catherine adds that Sergius, Raina’s fiancé, was at the head of the charge, and was as heroic in life as he appears in the picture Raina keeps in her bedroom. Louka, their servant, enters and warns Catherine and Raina that escaped Serbs fleeing the battlefield might be in the area, seeking refuge in the houses of Bulgarian families. Raina is not worried, and chooses to keep her window unlocked. In the night, a man enters the room through the unlocked window and says he will kill Raina if she makes a noise. The man is Swiss and an escaped soldier, fighting as a mercenary for the Serbians.

Raina is shocked to see that the man is tired and hungry, that he does not glorify battle, and that he is merely happy to have escaped the carnage alive. Raina helps him hide behind a curtain just as Catherine, Louka, and a Bulgarian officer enter to search the room for any Serbs who might be hiding in the area. Raina convinces them that no one is in her room, and they leave. Raina gives the man chocolate creams, which she keeps in a box in her room, and is shocked to hear that the man has no ammunition for his pistol, as he normally only keeps candies in his pockets. The man argues that Sergius’s cavalry charge against the Serbs was foolish, and succeeded only by sheer luck. The Serbs had machine guns but were given the wrong ammunition by accident, and therefore could not mow down Sergius and his men. Raina agrees to help the man escape later that night, though she rebukes him for making fun of her fiancé Sergius. The man sleeps as Raina enlists Catherine’s help, and when Raina and Catherine return, they allow the man to rest since he has not slept for days.

The second act begins in the garden of the same house, though it is now spring of 1886. Louka is engaged to the house’s head male servant, Nicola. Louka tells Nicola that he will never be more than a servant, and that she has higher aspirations. Louka tells him she knows many secrets about the Petkoff family, and Nicola says that he does, too, but would never blackmail his masters. Major Petkoff, the head of the family, returns from the war. He reports to Catherine that Sergius will never receive the military promotion Sergius craves, because Sergius has no command of military strategy. Sergius enters and is greeted warmly by the family, and especially by Raina, who still considers him a hero. Sergius says he has abandoned his commission in the army out of anger that he will never move up in the ranks. Sergius and Petkoff tell a story they heard about this Swiss soldier being hidden by two Bulgarian women during the soldier’s retreat. Catherine and Raina realize the story is about them, but do not say anything.

Sergius speaks with Louka in private, and begins flirting with her. Louka reveals to Sergius that Raina might not remain faithful to Sergius, and Sergius is taken aback. They exit. A man named Bluntschli enters the family garden and Louka brings him to Catherine. Catherine realizes that he is the man that hid in Raina’s room, the same man that she and Raina helped escape. Catherine worries that Sergius and Petkoff, who are conferring over military plans in the library, might encounter the soldier. Sergius and Petkoff have no idea that the story they heard about a soldier being helped by two Bulgarian women involves the Petkoffs. Bluntschli has come to return Major Petkoff’s coat that Catherine and Raina lent him to escape. Raina is so happy to see him that she blurts out, “the chocolate cream soldier!” when she walks in the room, only to recover herself and blame her outburst, implausibly, on Nicola. Petkoff and Sergius, who have in fact already met Bluntschli during the war, ask Bluntschli to stay and pass the time.

In the final act, the various tensions of the play thus far are exposed. Louka tells Sergius that the man with whom Raina is in love is Bluntschli. Sergius challenges Bluntschli to a duel because of this, but Bluntschli explains his way out of it. A picture of herself that Raina placed in her father’s cloak for Bluntschli to find is exposed, proving that Raina has not been entirely truthful to Sergius. Raina admits that she has had feelings for Bluntschli since they first met. Major Petkoff is aghast. When Bluntschli acknowledges that he has loved Raina, Sergius and Louka reveal that they have been having a secret affair at Sergius’ instigation, and Nicola releases Louka from their engagement. Bluntschli, whose father has just died, has come into a great deal of money, so Raina’s parents are glad to marry her off to him and his handsome fortune. Raina is revealed to be 23 rather than 17, enabling Bluntschli in good conscience to ask for her hand in marriage. Bluntschli promises to hire Nicola, whom he admires, to run the hotels he has just received as part of his inheritance. Sergius accepts Louka as his lover in public, thus satisfying Louka’s desire to move up in the social ranks. The play ends with Sergius exclaiming, of Bluntschli, “What a man!”