At the dawn of the 1930s in Berlin, the Nazi party quietly grows stronger. The Kit Kat Klub is a seedy cabaret, a place of decadent celebration set against the backdrop of growing Nazi terror. The Klub's Master of Ceremonies, or Emcee, together with the cabaret girls and waiters, warm up the audience Willkommen. In a train station, Clifford Bradshaw, a young American writer coming to Berlin in the hopes of finding inspiration for his new novel, arrives. He meets Ernst Ludwig, a German who offers Cliff work and recommends a boardinghouse. At the boardinghouse, Fräulein Schneider offers Cliff a room for one hundred marks; he can only pay fifty. After a brief debate, she relents and lets Cliff live there for fifty marks. Fräulein Schneider observes that she has learned to take whatever life offers So What?.
As Cliff visits the Kit Kat Klub, the Emcee introduces a British singer, Sally Bowles, who performs a racy, flirtatious number Don't Tell Mama. Afterward, she asks Cliff to recite poetry for her; he recites "Casey at the Bat". Cliff offers to take Sally home, but she says that her boyfriend Max, the club's owner, is too jealous. Sally then performs her final number at the Kit Kat Club aided by the female ensemble Mein Herr. The cabaret ensemble then performs a song and dance, calling each other on inter-table phones and inviting each other for dances and drinks The Telephone Song.
The next day, Cliff has just finished giving Ernst an English lesson when Sally arrives. Max has fired her and thrown her out, and now she has no place to live, and so she asks him if she can live in his room. At first he resists, but she convinces him (and Fräulein Schneider) to take her in Perfectly Marvelous. The Emcee and two female companions sing a song Two Ladies that comments on Cliff and Sally's unusual living conditions. Herr Schultz, an elderly Jewish fruit-shop owner who lives in her boardinghouse, has given Fräulein Schneider a pineapple as a gift It Couldn't Please Me More. However, in the Kit Kat Klub, a young waiter begins singing a song that begins as a patriotic anthem to the Fatherland but slowly descends into a darker, Nazi inspired march song Tomorrow Belongs to Me initially a cappella, but soon accompanied by the rest of the customers and the band.
Months later, Cliff and Sally are still living together and have fallen in love. Cliff knows that he is in a "dream," but he enjoys living with Sally too much to come to his senses Why Should I Wake Up?. Sally reveals that she is pregnant, but she does not know the father and reluctantly decides to get an abortion. Cliff reminds her that it could be his child, and seems to convince her to have the baby. Ernst then enters and offers Cliff a job—picking up a suitcase in Paris and delivering it to his "client" in Berlin—easy money. The Emcee comments on this Sitting Pretty", or, in later versions, "Money.
Meanwhile, Fräulein Schneider has caught one of her boarders, Fräulein Kost, bringing sailors into her room. Fräulein Schneider forbids her from doing it again, but Fräulein Kost threatens to leave. She also mentions that she has seen Fräulein Schneider with Herr Schultz in her room. Herr Schultz saves Fräulein Schneider's reputation by telling Fräulein Kost that he and Fräulein Schneider are to be married in three weeks. After Kost leaves, Fräulein Schneider thanks Herr Schultz for lying to Kost. Schultz, however, says that he was serious, and proposes to Fräulein Schneider Married.
At Fräulein Schneider and Herr Schultz's engagement party, Cliff arrives and delivers the suitcase to Ernst. A "tipsy" Herr Schultz sings "Meeskite" (Meeskite, he explains, is Yiddish for ugly or funny-looking) a song with a moral Anyone responsible for loveliness, large or small/Is not a meeskite at all. Afterward, looking for revenge on Fräulein Schneider, Fräulein Kost tells Ernst, who now sports a Nazi armband, that Schultz is a Jew. Ernst warns Fräulein Schneider that marrying a Jew may not be wise. Fräulein Kost and company reprise "Tomorrow Belongs to Me", this time with even more overtly disturbing Nazi overtones, as Cliff, Sally, Fräulein Schneider, Herr Schultz and the Emcee look on.
The cabaret girls, along with the Emcee in drag, perform a kick line routine which eventually becomes a goose-step. Fräulein Schneider expresses her concerns about her union to Herr Schultz, who assures her that everything will be all right Married" (Reprise), but they are interrupted by the crash of a brick being thrown through the window of Herr Schultz's fruit shop. Fräulein Schneider is afraid that the gesture might represent malicious intent, but Schultz tries to reassure her that it is just children making trouble.
Back at the Kit Kat Klub, the Emcee performs a song-and-dance routine with a girl in a gorilla suit about how their love has been met with universal disapproval If You Could See Her. Encouraging the audience to be more open-minded, he defends his ape-woman, concluding with, "if you could see her through my eyes... she wouldn't look Jewish at all." (The line was intended to shock the audience and make them consider how easily and unthinkingly they accepted prejudice, but protests and boycott threats from Jewish leaders in Boston led Ebb to reluctantly write an alternate final line, "She isn't a Meeskite at all.") Fräulein Schneider then goes to Cliff and Sally's room and returns their engagement present, explaining that her marriage has been called off. When Cliff protests, saying that she can't just give up this way, she asks him what other choice she has What Would You Do?.
Cliff tells Sally that he is taking her back to his home in America so that they can raise their baby together. Sally protests, declaring how wonderful their life in Berlin is, and Cliff sharply tells her to "wake up" and take notice of the growing unrest around them; Sally retorts that politics have nothing to do with them or their affairs. Following their heated argument, Sally returns to the club. Cliff is accosted by Ernst, who has another delivery job for him. Cliff tries to brush him off, but when Ernst asks if Cliff's attitude towards him is because of "that Jew at the party", Cliff attacks him – only to be badly beaten up by Ernst and his Nazi bodyguards and dragged out of the club. . Back at the Kit Kat Klub I Don't Care Much, the Emcee introduces Sally, who enters to perform again, singing that "life is a cabaret, old chum" Cabaret.
The next morning, the bruised Cliff is packing, when Herr Schultz, who tells Cliff that he is moving to another boardinghouse, visits him but he is confident that the bad times will soon pass. He understands the German people, he says, because he is a German, too. When Sally returns, she reveals that she has had an abortion; Cliff slaps her. Cliff still hopes that she will join him, but Sally says that she has "always hated Paris" and hopes that when Cliff finally writes his novel, he will dedicate it to her. Cliff leaves, heartbroken.
On the train to Paris, Cliff begins to write his novel, reflecting on his experiences: "There was a cabaret, and there was a master of ceremonies... and there was a city called Berlin, in a country called Germany...and it was the end of the world." Willkommen" Reprise). In the Kit Kat Klub, the Emcee once again welcomes us (in the 1998 revival, he strips off his overcoat to reveal a concentration camp prisoner's uniform marked with a yellow Star of David and a pink triangle). The cabaret ensemble reprises "Willkommen", but it is now harsh and violent as the Emcee sings, "Auf Wiedersehen…à bientôt…good night" followed by a crescendo drum roll and a cymbal crash.