Akcja filmu rozgrywa się w roku 1900. Christian (w tej roli Ewan McGregor) jest brytyjskim pisarzem, który przybył do wioski Montmartre w Paryżu w 1899 roku, kiedy ruch czeski cieszył się największą popularnością. Podczas pisania na maszynie do pisania siedzi w mieszkaniu patrząc w dół na zamknięty teatr zwany Moulin Rouge. Historia, którą pisze, jest o kobiecie, którą kochał, Satine (w tej roli Nicole Kidman).
W 1899 roku Christian przybywa do Paryża i zaprzyjaźnia się z grupą Czechów, którzy regularnie odwiedzają Moulin Rouge. Starają się oni stworzyć musical o nazwie "Spectacular Spectacular", który właściciel Moulin Rouge, Harold Zidler (w tej roli Jim Broadbent), planuje pokazać w kabarecie. Lider Czech, Toulouse-Lautrec (w tej roli John Leguizamo), jest zadowolony z talentu pisarskiego Christiana i nalega, aby napisał ich musical "Spectacular Spectacular". Kiedy dowiadują się, że Christian jest niesamowitym pisarzem, wymyślają skomplikowany plan przedstawienia Satyny, która jest piękną kurtyzaną, w nadziei, że będzie pod jego wrażeniem i przekonają Zidlera, aby zatrudnił Christiana jako pisarza musicalu.
Satine rozumie, na czym polega jej praca, choć ma nadzieję, że opuści Moulin Rouge, by stać się "prawdziwą" aktorką. Poprzez szereg nieporozumień, myli chrześcijanina z bogatym i potężnym księciem, który zainwestuje w musical "Spectacular Spectacular". Ona jest oczarowana jego poezją. Ona oświadcza, że się w nim zakochała, ale jest zszokowana, że w rzeczywistości jest biednym poetą czeskim.
Po pewnym czasie prawdziwy książę (w tej roli Richard Roburgh) odnajduje razem Christiana i Satine. Udało im się go oszukać, że pracują nad musicalem "Spectacular Spectacular". Główna obsada przybywa i na miejscu improwizuje fabułę spektaklu: piękna indyjska kurtyzana ma swoje królestwo zaatakowane przez "złego maharadżę". Wyrusza, by go uwodzić, by ocalić swoje królestwo, ale przypadkowo uwodzi, a następnie zakochuje się w bez grosza graczu sitar. Oboje muszą ukryć swoją miłość i unikać maharadży, choć sugeruje się, że jeden z nich może umrzeć na końcu historii. (Wkrótce okazuje się, że temat ich sztuki zapowiada to, co dzieje się w fabule filmu). Książę zgadza się poprzeć przedstawienie. Ale szybko pokazuje, że jest gwałtownie zazdrosnym człowiekiem, który zamknie Moulin Rouge, jeśli nie dostanie Satine do siebie. Mimo to zgadza się, że Satine będzie zajęty próbami i w bliskim kontakcie z Christianem, pisarzem musicalu.
Christian i Satine zakochują się, podczas gdy Zidler walczy o to, by książę był zainteresowany musicalem "Spectacular Spectacular", mimo że Satine jeszcze z nim nie spała. Harold Zidler odkrywa również, że Satine umiera na chorobę zwaną gruźlicą, ale nie mówi nikomu z powodu swojego motta "The show must go on". W międzyczasie Christian kontynuuje pracę nad sztuką, w której kurtyzana i bez grosza grający w sitarze kończą się razem. Książę nie docenia jednak zakończenia i mówi obsadzie, że kurtyzana musi skończyć z maharadżą. Aby przekonać księcia do zmiany zdania, Satine w końcu zgadza się spędzić z nim noc. Chrześcijanin jest pokonany zazdrością, podczas gdy Satynka je kolację z księciem, który oferuje jej wszystko, o czym marzyła. Jednak, gdy Satine widzi chrześcijanina na ulicy poniżej, ona odrzuca ofertę księcia, a on próbuje ją zgwałcić. Po jej ucieczce, Satine i Christian planują ucieczkę.
Do tej pory książę zdał sobie sprawę ze sztuczek Satine, i mówi Zidlerowi, że jeśli "maharadża" nie dostanie swojej "kurtyzany", to zabije "bez grosza gracza sitara". Niemniej jednak, Zidler musi poinformować Satine o jej ostatecznym stanie, zanim zgodzi się na rezygnację z planu ucieczki. Idzie do Christiana i okłamuje go, przekonując, że jej miłość była aktem w nadziei, że dzięki temu będzie chciał opuścić Paryż i tym samym uratować mu życie.
Na otwarciu spektaklu Satine występuje zmęczona, wiedząc, że jej życie jest już prawie skończone. Christian, odmawiając poddania się Satine, konfrontuje się z jej kulisami. Kiedy ona próbuje zmusić go ponownie, on zajmuje miejsce bohatera spektaklu, rzucając pieniądze u jej stóp, aby "zapłacić swoją dziwkę", i burząc się ze sceny. Satine wyznaje swoją miłość do niego w postaci jego sekretnej piosenki, a Christian i Satine wracają do siebie w pełnym świetle publiczności i księcia. Książę próbuje zastrzelić Christiana, ale Zidler zmusza go. Publiczność oklaskuje co myślą, że to dobry dramat, ale za kulisami, Satine jest pokonany przez jej choroby i umiera w ramionach chrześcijanina. Jako swoje ostatnie życzenie, prosi Christiana, aby opowiedział ich historię.
Rok później, wciąż w swoim mieszkaniu z widokiem na pusty czerwony wiatrak, Christian w końcu pisze ostatnią stronę swojej pracy, kończąc ją kupletem: "Największą rzeczą, jakiej kiedykolwiek się nauczysz, jest po prostu kochać, a w zamian być kochanym".