Sally Bowles (Liza Minnelli) is an American-singer and dancer who lives in Germany in the between-wars period. She dreams of becoming rich and famous, but has a clear drinking problem. She works at the Kit-Kat cabaret, a seedy place with suggestive musical numbers. The Master of Ceremonies (Joel Grey), introduces and participates in the risque acts at the cabaret.
We see Nazis asking for donations from the club patrons, but the owner throws them out.
Sally meets Brian Roberts (Michael York) when he takes a room in a flat she shares with some older people. He is in Berlin to finish his PhD and teach English, but is currently penniless. They become friends, but fairly quickly Sally discovers that Brian has been "unsuccessful" with women, and it is implied that he is gay. The two become friends, with Sally doing much of the talking. She is loud, brash, an alcoholic always bumming cigarettes and dreaming of stardom (though her talent is apparent, she sells herself short and assumes a destructive lifestyle). We learn her father is a diplomat, but he misses a meeting with her, and has apparently been absent (if apologetic, but efficient to the point of counting words on telegrams) for much of her life.
Through the other tenant's conversations, street shots, musical numbers and and a few seemingly random scenes or inserts in conversations, the growing influence of racist ideas and Nazism is foreshadowed.
Brian is fascinated by Sally (she is edgy and outspoken and almost out of control, while he is composed and rational) and their friendship ends up as a sexual affair. However, Sally doesn't want to fall in love with him because she wants to marry big money. One day, while complaining at the laundrette because of problems with the timing of the cleaning of some garments, she bumps into Maximilian von Heune (Helmut Griem). He helps Sally by translating the attendant's German into English. Sally flirts with him, and he offers her a ride in his limousine. Sally falls dazzled when she notices the luxurious car. They go out (Brian, invited, refuses) and Max buys Salley perfume, a fur coat and treats her to a life of luxury.
Meanwhile, Sally and Brian have been setting up one student of Brian's, a wanna-be gigolo who plans on meeting and wedding an ugly but rich woman, Fritz Wendel (Fritz Wepper), with a wealthy heiress, Natalia Landauer (Marisa Berenson). While Fritz was originally after Natalia's money, he finds he has really fallen for her - and she is in love with him. Ironically, it is Sally's bluntly sexual advice (that both seek) that bring them together.
Max also buys Brian gifts and finally wins him over--Brian and Sally visit Max at his castle. Max gives them a first-class treatment, and Sally gets completely starry-eyed. However, there, they learn the truth: Max is married, but he and his wife have decided to lead separate lives with many different lovers and sexual adventures on either side, but never breaking up their marriage, as financially that would be an end to their flamboyant living. The three enjoy an evening of decadence.
Later, Sally confesses to Brian that she has slept with Max. Brian confesses that he has too.
The Nazis are gaining public acceptance and power. Max, Sally and Brian go to a beer garden and a Nazi youth starts singing a "patriotic" song; most of the people join in. On the way home, Brian suggests that the growing Nazi threat may not be contained (by people like Max, even). A Nazi gang beats up the club owner in revenge of their previous treatment. One of the acts in the club is a poignant and ironic "ode" to anti-Jew sentment.
Natalia finds her beloved dog dead on her door-step. Brian encourages Fritz to propose to her, as he knows she really does love him, and Fritz loves her as a person - not just for her fortune. Fritz says that it won't happen, because he's penniless. Because of the increasingly hostile atmosphere, Natalia rejects Fritz when he finally proposes. She tells him that the marriage can't take place because she is Jewish. Fritz confesses to Natalia that he is Jewish as well, and they get married in a traditional ceremony immediately.
Max sends a note to Sally and Brian, saying that he has to leave the country on "family business". He includes money for each of them. Soon, she feels gloomy, and tells Brian that she is pregnant, but doesn't know who the father is. It could be Max or Brian's... She considers an abortion, but Brian asks her to marry him. He asks her to have the baby and tries to convince her that they could be happy together in spite of not being millionaires. His demeanor and expression, however, suggests that he is not pleased with this prospect, as Sally says that she'll think about it. It's implied through scenes of their past decadence, that, if she has a baby, she'll give up the only life she knows, nor ever never be able to become a star or marry a rich man.
The next thing Brian notices is that Sally hasn't got the fur coat anymore. Brian realizes that she's given it to the doctor as payment for the abortion. Their relationship is over. Returning to his rational self and seeing Sally for who she is, and the rose of Nazism, he decides to return home.
Brian and Sally head to the train station so Brian can return to England. Sally stays behind to keep up her performances at the club. She sings her final ode to fatalism and decadence, "Cabaret", and the MC closes the show. The atmosphere is not joyous anymore and Nazis are seen among the patrons in the warped mirror of the sax.