Il film è ambientato nell'anno 1900. Christian (interpretato da Ewan McGregor) è uno scrittore britannico che è venuto nel villaggio di Montmartre a Parigi nel 1899, quando il movimento boemo era al suo massimo splendore. Si siede in un appartamento guardando il teatro chiuso chiamato Moulin Rouge mentre scrive su una macchina da scrivere. La storia che sta scrivendo riguarda la donna che ha amato, Satine (interpretata da Nicole Kidman).
Nel 1899, Christian arriva a Parigi e fa amicizia con un gruppo di boemi che frequentano 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), intende mostrare al cabaret. Il leader dei Bohemians, Toulouse-Lautrec (interpretato da John Leguizamo), è soddisfatto del talento di Christian nella scrittura e insiste perché scriva il loro musical, "Spectacular Spectacular". Una volta scoperto che Christian è uno scrittore straordinario, escogitano un piano complicato per presentare Christian a Satine, che è una bella cortigiana, nella speranza che lei rimanga impressionata da lui e convinca Zidler ad assumere Christian come scrittore del musical.
Satine capisce cosa comporta il suo lavoro, anche se spera di lasciare il Moulin Rouge per diventare un'attrice "vera". Per una serie di equivoci, scambia Christian per il ricco e potente duca che investirà nel musical "Spectacular Spectacular". Lei è incantata dalla sua poesia. Dichiara di essersi innamorata di lui, ma è scioccata quando si rende conto che in realtà è un povero poeta boemo.
Dopo un po', il vero Duca (interpretato da Richard Roburgh) trova Christian e Satine insieme. Riescono a fargli credere con l'inganno che stanno lavorando al musical "Spectacular Spectacular". Il cast principale arriva e improvvisa sul posto la trama dello spettacolo: una bella cortigiana indiana ha il suo regno invaso da un "malvagio maharaja". Lei si propone di sedurlo per salvare il suo regno, ma accidentalmente seduce e poi si innamora di uno squattrinato suonatore di sitar. I due devono nascondere il loro amore ed evitare il maharaja, anche se è implicito che uno dei due potrebbe morire alla fine della storia. (Ci si rende presto conto che il tema della loro commedia prefigura ciò che accade nella trama del film). Il Duca accetta di sostenere lo spettacolo. Ma, mostra rapidamente di essere un uomo violentemente geloso che farà chiudere il Moulin Rouge se non avrà Satine per sé. Tuttavia, accetta che Satine sia impegnata nelle prove e in stretto contatto con Christian, lo scrittore del musical.
Christian e Satine si innamorano, mentre Zidler lotta per mantenere il Duca interessato al 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 a causa del suo motto, "The show must go on". Nel frattempo, Christian continua a lavorare alla commedia, in cui la cortigiana e lo squattrinato suonatore di sitar 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 sognato. Tuttavia, quando Satine vede Christian nella strada sottostante, rifiuta l'offerta del Duca, e lui 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 lo "squattrinato suonatore di sitar". Tuttavia, Zidler deve informare Satine della sua condizione finale prima che lei accetti di rinunciare al piano di fuga. Lei va da Christian e gli mente, convincendolo che il suo amore era una messinscena, nella speranza che questo lo spinga a lasciare Parigi e quindi a salvargli la vita.
All'apertura dello spettacolo, Satine si esibisce stancamente, sapendo che la sua vita è quasi finita. Christian, rifiutandosi di rinunciare a Satine, la affronta nel backstage. Quando lei cerca di allontanarlo di nuovo, lui prende il posto dell'eroe dello spettacolo, gettandole ai piedi del denaro per "pagare la sua puttana", e scendendo dal palco come una furia. Satine confessa il suo amore per lui nella forma della sua 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 a scendere. Il pubblico applaude quello che pensa sia un buon 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 con vista sul mulino rosso vuoto, Christian finalmente batte a macchina l'ultima pagina della sua opera, terminandola con il distico: "La cosa più grande che potrai mai imparare, è solo amare, ed essere amato in cambio".