Il film è ambientato nell'anno 1900. Christian (interpretato da Ewan McGregor) è uno scrittore britannico giunto nel villaggio di Montmartre a Parigi nel 1899, quando il movimento boemo era al suo massimo splendore. Si siede in un appartamento che guarda verso il teatro chiuso, il Moulin Rouge, mentre scrive con la macchina da scrivere. La storia che sta scrivendo riguarda la donna che amava, Satine (interpretata da Nicole Kidman).
Nel 1899, Christian arriva a Parigi e fa amicizia con un gruppo di bohémien che visitano regolarmente il Moulin Rouge. Stanno cercando di produrre un musical chiamato "Spectacular Spectacular", che il proprietario del Moulin Rouge, Harold Zidler (interpretato da Jim Broadbent), ha intenzione di mostrare al cabaret. Il leader dei bohémien, Toulouse-Lautrec (interpretato da John Leguizamo), è soddisfatto del talento di Christian nella scrittura e insiste perché scriva il loro musical, "Spectacular Spectacular Spectacular". Una volta scoperto che Christian è uno scrittore straordinario, escogitano un complicato piano per presentare Christian a Satine, che è una bellissima cortigiana, nella speranza che lei rimanga impressionata da lui e convinca Zidler ad assumere Christian come autore del musical.
Satine capisce cosa comporta il suo lavoro, anche se spera di lasciare il Moulin Rouge per diventare una "vera" attrice. Attraverso una serie di malintesi, scambia Christian per il ricco e potente Duca che investirà nel musical "Spectacular Spectacular". Rimane incantata dalla sua poesia. Dichiara di essersi innamorata di lui, ma è scioccata nel rendersi conto che in realtà è un povero poeta bohémien.
Dopo un po', il vero duca (interpretato da Richard Roburgh) trova Christian e Satine insieme. Essi riescono ad ingannarlo facendogli credere che stavano lavorando al musical "Spectacular Spectacular". Il cast principale arriva e improvvisa sul posto la trama dello spettacolo: una bellissima cortigiana indiana fa invadere il suo regno da un "malvagio maharaja". Lei si mette a sedurlo per salvare il suo regno, ma accidentalmente seduce e poi si innamora di un suonatore di sitar squattrinato. I due devono nascondere il loro amore ed evitare il maragià, anche se è implicito che uno dei due potrebbe morire alla fine della storia. (Ci si rende presto conto che il tema del loro gioco prefigura quello che succede nella trama del film). Il Duca accetta di sostenere lo spettacolo. Ma mostra subito di essere un uomo violentemente geloso che chiuderà il Moulin Rouge se non avrà Satine tutta per sé. Tuttavia, accetta che Satine sarà impegnata con le prove e a stretto contatto con Christian, lo scrittore del musical.
Christian e Satine si innamorano, mentre Zidler si sforza di mantenere l'interesse del Duca per il musical "Spectacular Spectacular", anche se Satine non è ancora andata a letto con lui. Harold Zidler scopre anche che Satine sta morendo di una malattia chiamata tubercolosi, ma non lo dice a nessuno per via del suo motto: "Lo spettacolo deve continuare". Nel frattempo, Christian continua a lavorare allo spettacolo, in cui la cortigiana e il suonatore di sitar squattrinato finiscono insieme. Il Duca, però, non apprezza il finale e dice al cast che la cortigiana deve finire con il maharaja. Per convincere il Duca a cambiare idea, Satine accetta finalmente di passare la notte con lui. Christian è sopraffatto dalla gelosia mentre Satine cena con il Duca, che le offre tutto ciò che ha sempre sognato. Tuttavia, quando Satine vede Christian nella strada sottostante, rifiuta l'offerta del Duca, che cerca di violentarla. Dopo la sua fuga, Satine e Christian progettano di scappare.
Ormai il Duca ha capito i trucchi di Satine, e dice a Zidler che, se il "maharaja" non ottiene la sua "cortigiana", farà uccidere il "suonatore di sitar squattrinato". Tuttavia, Zidler deve informare Satine della sua condizione finale prima che accetti di rinunciare al piano di fuga. Lei va da Christian e gli mente, convincendolo che il suo amore è stato un atto nella speranza che questo gli faccia venire voglia di lasciare Parigi e quindi di salvargli la vita.
All'apertura dello spettacolo, Satine si esibisce stancamente, sapendo che la sua vita è quasi finita. Christian, rifiutando di rinunciare a Satine, si confronta con il suo backstage. Quando lei cerca di costringerlo ad andarsene di nuovo, lui prende il posto dell'eroe dello spettacolo, gettando ai suoi piedi i soldi per "pagare la sua puttana", e se ne va infuriato dal palco. Satine confessa il suo amore per lui sotto forma di canzone segreta, e Christian e Satine tornano insieme in piena vista del pubblico e del Duca. Il Duca tenta di sparare a Christian, ma Zidler lo costringe. Il pubblico applaude quello che pensa sia un bel dramma, ma dietro le quinte, Satine è sopraffatta dalla sua malattia e muore tra le braccia di Christian. Come ultimo desiderio, chiede a Christian di raccontare la loro storia.
Un anno dopo, ancora nel suo appartamento che si affaccia sul mulino a vento rosso vuoto, Christian scrive finalmente l'ultima pagina della sua opera, terminandola con il distico: "La cosa più grande che imparerai mai, è solo amare, ed essere amato in cambio".