This act shifts to the Petkoffs' library, a setting which Shaw uses to let us know that this is a very poor excuse for a library; it consists of only a single room with a single shelf of old worn-out paper-covered novels; the rest of the room is more like a sitting room with another ottoman in it, just like the one in Raina's room in the first act. The room is also fitted with an old kitchen table which serves as a writing table. At the opening of the act, Bluntschli is busy at work preparing orders, with a businesslike regularity, for the disposition of the Bulgarian army. Petkoff is more of a hindrance than a help, for he constantly interrupts to see if he can be of any help. Finally, his wife tells him to stop interrupting. Petkoff, in turn, complains that all that he needs to be comfortable is his favorite old coat, which he can't find. Catherine rings for Nicola and tells the servant to go to the blue closet and fetch his master's old coat. Petkoff is so certain that it is not there that he is willing to make a bet of an expensive piece of jewelry with her. Sergius is about to enter a bet also, but Nicola suddenly returns with the coat. Petkoff is completely astonished and perplexed when Nicola announces that it was indeed hanging in the blue closet.
At this moment, Bluntschli finishes the last order, gives it to Sergius to take to his soldiers, and then asks Petkoff to follow to make sure that Sergius doesn't make a mistake. Petkoff asks his wife to come along because she is good at giving commands. Left alone with Raina, Bluntschli expresses his astonishment at an army where "officers send for their wives to keep discipline."
Raina then tells Captain Bluntschli how much better he looks now that he is clean, and she inquires about his experiences after he left her bedroom. She lets him know that the entire story has been told so many times that both her father and her fiancé are aware of the story, but not the identities of the people involved. In fact, Raina believes that "if Sergius knew, he would challenge you and kill you in a duel." Bluntschli says that he hopes that Raina won't tell, but Raina tells him of her desire to be perfectly open and honest with Sergius. Because of Bluntschli, Raina says, she has now told two lies — one to the soldiers looking for him in her room and another one just now about the chocolate pudding — and she feels terrible about lying; Bluntschli cannot take her seriously. In fact, he tells her that when "you strike that noble attitude and speak in that thrilling voice, I admire you; but I find it impossible to believe a single word you say." At first, Raina is indignant, but then she is highly amused that Bluntschli has seen through the disguise that she has used since she was a child: "You know, I've always gone on like that," she tells him.
When Raina asks him what he thought of her for giving him a portrait of herself, Bluntschli tells her that he never received it because he never reached into the pocket of the coat where Raina had put it. He is not concerned until he learns that Raina inscribed upon it "To my Chocolate Cream Soldier." In the meantime, Bluntschli confesses, he pawned the coat, thinking that was the safest place for it. Raina is furious, and she accuses him of having a "shopkeeping mind." At this point, they are interrupted by Louka, who brings Bluntschli some letters and telegrams, which inform him that his father has died and that Bluntschli has inherited several hotels which he will have to manage. He must leave immediately. Alarmed, Raina follows him out.
Nicola enters and sees Louka with her sleeve rolled up so as to expose her bruised arm, and he reprimands her. Then they argue over the duties and obligations of being a servant. Louka says that she absolutely refuses to act like a servant, and Nicola answers that he is quite willing to release her from their engagement if she can better herself. Then, he would have another customer for his shop, one who would bring him good business. When Sergius enters, Nicola leaves immediately, and Sergius, noticing the bruise on Louka's arm, asks if he can cure it now by kissing it. Louka reminds him of his place and of hers. She wonders aloud if Sergius is a brave man and if poor people are any less brave than wealthy people. Sergius answers that in war any man can have courage: "the courage to rage and [to] kill is cheap." Louka then asks if Sergius has true courage; that is, would he dare to marry someone whom he loved if that person was socially beneath him? She asserts that she thinks that Sergius would "be afraid of what other people would say," and thus he would never have the courage to marry beneath him. Sergius contradicts her until Louka tells him that Raina will never marry him, that Raina is going to marry the Swiss soldier. As she turns to go, Sergius grabs her and holds her firmly; as he threatens her and questions the truth of her accusation, she wonders if anyone would believe the fact that she is now in his arms. He releases her with the assertion that if he ever touches her again, it will be as her fiancé.
As Louka leaves, Bluntschli enters and is immediately told by Sergius where he is to be on the following morning; they will duel on horseback and with sabres. Bluntschli maintains that as the challenged party, it is his privilege to choose the weapons, and he plans to have a machine gun. But when Bluntschli sees that Sergius is serious, he agrees to meet him with a sabre, but he refuses to fight on horseback because it is too dangerous. Raina enters then, in time to hear their last arrangements. Bluntschli explains that he is an expert with the sword and that he will see to it that neither of them are hurt; afterward, he will leave immediately for Switzerland and no one will ever hear of the incident. Sergius then accuses Bluntschli of receiving favors from Raina which he (Sergius) has never enjoyed — that is, she received Bluntschli in her bedroom. Bluntschli points out that she did so "with a pistol at her head. . . . I'd have blown out her brains if she'd uttered a cry." Sergius cannot accept the story that there is nothing between the two because if it were true, then Captain Bluntschli would not have come back to the Petkoff house. He could have sent the coat; he came only to see Raina.
When Sergius makes further accusations, Raina reminds him that she saw him and Louka in each other's arms, and she now understands about their relationship. Sergius realizes that his and Raina's engagement is over, and he therefore cancels the duel with Bluntschli, who is pleased to get out of it since he didn't want to fight in the first place. Raina, however, is furious, and she tells Bluntschli that Sergius had Louka spy on them and that Sergius rewarded Louka by making love to her. As they continue to argue, Bluntschli tries to get Sergius to stop because he is losing the argument. Suddenly, Bluntschli asks where Louka is. Raina maintains that she is listening at the door, and as Sergius stoutly denies such a thing, Raina goes to the door and drags Louka inside; she was, in fact, eavesdropping. Louka is not ashamed; she says that her love is at stake and that her feelings for Sergius are stronger than Raina's feelings for the "chocolate cream soldier."
At this point, Major Petkoff enters in short sleeves; his old coat is being mended. When Nicola enters with it, Raina helps him on with the coat and deftly removes the inscribed portrait from the coat pocket. Thus, when her father reaches for the photograph to ask Raina the meaning of a photograph of her with the inscription: "Raina, to her Chocolate Cream Soldier: A Souvenir," the photo is missing! Major Petkoff is confused and asks Sergius if he is the "chocolate cream soldier." The Major responds indignantly that he is not. Then Bluntschli explains that he is the "chocolate cream soldier" and that Raina saved his life. Petkoff is further confused when Raina points out that Louka is the true object of Sergius' affections, despite the fact that Louka is engaged to Nicola, who denies this and says that he is hoping for Louka's good recommendation when he opens his shop.
Suddenly Louka feels as though she is being bartered, and she demands an apology; when Sergius kisses her hand in apology, she reminds him that his touch now makes her his "affianced wife," and even though Sergius had forgotten his earlier statement, he still holds true to his word and claims Louka for his own. At this moment, Catherine enters and is shocked to find Louka and Sergius together. Louka explains that Raina is fond only of Bluntschli, and before Raina can answer, Bluntschli explains that such a young and beautiful girl as Raina could not be in love with a thirty-four-year-old soldier who is an incurable romantic; the only reason he came back, he says, was not to return the coat but to get just one more glance at Raina, but he fears that she is no more than seventeen years old. Raina then tells Bluntschli that he is indeed foolishly romantic if he thinks that she, a twenty-three-year-old woman, is a seventeen-year-old girl. At this point, Bluntschli asks permission to be a suitor for Raina's hand. When he is reminded that Sergius comes from an old family which kept at least twenty horses, Bluntschli begins to enumerate all of the possessions (including two hundred horses) which he owns; he fails, however, to mention that his possessions are connected with the hotel business that he has just inherited. His list of possessions is so impressive that it is agreed that he shall indeed marry Raina, who is delighted with her "chocolate cream soldier." As Bluntschli leaves, with the promise of being back in two weeks, Sergius looks in wonder and comments, "What a man! Is he a man!"
After the farcical bit about the discovery of the old coat in the blue closet, which perplexes Major Petkoff, Shaw then gets down to the resolution of the drama, which involves the revealing of Raina's, Sergius', and Bluntschli's true natures.
First, in Bluntschli's interview with Raina, we see him as the practical man who will not let Raina assume any of her poses; he will laugh at all of the poses that she assumes. Captain Bluntschli, while being charmed and captivated by Raina, refuses to take her poses seriously; that is, he delights in her posturing, but he is not deceived by them: "When you strike that noble attitude and speak in that thrilling voice, I admire you; but I find it impossible to believe a single word you say." Thus, Bluntschli forces Raina to reveal her true nature, and she is delighted that someone has seen through her guise and has allowed her to come down off her pedestal. We were earlier prepared for this revelation when she told her mother that she would like to shock Sergius; already, we have seen that she finds "higher love" to be something of a strain on her. Thus, it is ultimately a relief for her to discard all of her artificial poses and finally become herself.
Likewise, Bluntschli changes. While he will not tolerate posturing, yet, since he is such a plainspoken man, we are surprised to discover that beneath his exterior, he has a romantic soul — that is, he came back with the Major's coat only to have one more glimpse of Raina, with whom he is infatuated. Therefore, as the practical man is seen to change, so also does Sergius, whom we saw very early in the second act confess to being tired of playing this game of the ideal of the "higher love." He is immensely relieved not to have to be the over-idealized, noble object of Raina's love; he found trying to live up to her expectations tiresome. After discovering that there is no nobility or heroics connected with war, he is delighted to discover that Raina's heroics are not for him; as a result, he turns to the more basic but yet attractive Louka.
The resolution of the drama is brought about by the simple technique of having all of the characters recognize their basic nature and yield to it. Consequently, the ending of this comedy is similar to most classic comedies — that is, after a mix-up or confusion between the lovers, everyone is paired with the proper person finally.