Der Film spielt im Jahr 1900. Christian (gespielt von Ewan McGregor) ist ein britischer Schriftsteller, der 1899 in das Dorf Montmartre in Paris kam, als die böhmische Bewegung am populärsten war. Er sitzt in einer Wohnung und schaut auf das stillgelegte Theater namens Moulin Rouge, während er auf einer Schreibmaschine schreibt. Die Geschichte, die er schreibt, handelt von der Frau, die er liebte, Satine (gespielt von Nicole Kidman).
1899 kommt Christian in Paris an und freundet sich mit einer Gruppe von Bohemiens an, die regelmäßig das Moulin Rouge besuchen. Sie versuchen, ein Musical mit dem Titel "Spektakuläres Spektakuläres" zu produzieren, das der Besitzer des Moulin Rouge, Harold Zidler (gespielt von Jim Broadbent), im Kabarett zeigen will. Der Führer der Bohemiens, Toulouse-Lautrec (gespielt von John Leguizamo), freut sich über Christians Schreibtalent und besteht darauf, dass er ihr Musical "Spectacular Spectacular" schreibt. Als sie herausfinden, dass Christian ein erstaunlicher Schriftsteller ist, denken sie sich einen komplizierten Plan aus, um Christian Satine, einer schönen Kurtisane, vorzustellen, in der Hoffnung, dass sie von ihm beeindruckt sein wird, und überreden Zidler, Christian als Autor des Musicals zu engagieren.
Satine versteht, worum es bei ihrer Arbeit geht, obwohl sie hofft, das Moulin Rouge zu verlassen, um eine "richtige" Schauspielerin zu werden. Durch eine Reihe von Missverständnissen verwechselt sie Christian mit dem reichen und mächtigen Herzog, der in das Musical "Spektakulär, Spektakulär" investieren wird. Sie ist verzaubert von seiner Poesie. Sie erklärt, dass sie sich in ihn verliebt hat, ist aber schockiert, als sie feststellt, dass er in Wirklichkeit ein armer böhmischer Dichter ist.
Nach einer Weile findet der echte Herzog (gespielt von Richard Roburgh) Christian und Satine zusammen. Es gelingt ihnen, ihm weiszumachen, dass sie an dem Musical "Spectacular Spectacular" arbeiten. Die Hauptdarsteller treffen ein und improvisieren die Handlung der Show an Ort und Stelle: Eine schöne indische Kurtisane lässt ihr Königreich von einem "bösen Maharadscha" überfallen. Sie macht sich daran, ihn zu verführen, um ihr Königreich zu retten, verführt ihn aber versehentlich und verliebt sich dann in einen mittellosen Sitarspieler. Die beiden müssen ihre Liebe verbergen und den Maharadscha meiden, obwohl angedeutet wird, dass einer von ihnen am Ende der Geschichte sterben könnte. (Es wird schnell klar, dass das Thema ihres Spiels das Geschehen in der Handlung des Films vorwegnimmt). Der Herzog erklärt sich bereit, die Vorstellung zu unterstützen. Aber er zeigt schnell, dass er ein heftig eifersüchtiger Mann ist, der das Moulin Rouge schließen wird, wenn er Satine nicht zu sich holt. Dennoch akzeptiert er, dass Satine mit Proben beschäftigt sein wird und in engem Kontakt mit Christian, dem Autor des Musicals, stehen wird.
Christian und Satine verlieben sich, während Zidler darum ringt, den Herzog für das Musical "Spektakulär Spektakulär" zu interessieren, obwohl Satine noch nicht mit ihm geschlafen hat. Harold Zidler erfährt auch, dass Satine an einer Krankheit namens Tuberkulose stirbt, sagt es aber niemandem, weil sein Motto lautet: "Die Show muss weitergehen". Christian arbeitet unterdessen weiter an dem Stück, in dem die Kurtisane und der mittellose Sitarspieler am Ende zusammenkommen. Der Herzog weiß das Ende jedoch nicht zu schätzen und sagt der Besetzung, dass die Kurtisane mit dem Maharadscha enden muss. Um den Herzog davon zu überzeugen, seine Meinung zu ändern, willigt Satine schließlich ein, die Nacht mit ihm zu verbringen. Christian wird von Eifersucht übermannt, während Satine mit dem Herzog zu Abend isst, der ihr alles anbietet, wovon sie geträumt hat. Als Satine Christian jedoch auf der Straße unten entdeckt, lehnt sie das Angebot des Herzogs ab, und er versucht, sie zu vergewaltigen. Nachdem sie entkommen ist, planen Satine und Christian zu fliehen.
Inzwischen hat der Herzog Satines Tricks erkannt und teilt Zidler mit, dass er, wenn der "Maharadscha" seine "Kurtisane" nicht bekommt, den "mittellosen Sitarspieler" töten lassen wird. Trotzdem muss Zidler Satine über ihren letzten Zustand informieren, bevor sie zustimmt, den Fluchtplan aufzugeben. Sie geht zu Christian und belügt ihn, indem sie ihn davon überzeugt, dass ihre Liebe eine Tat war, in der Hoffnung, dass er dadurch den Wunsch verspürt, Paris zu verlassen und so sein Leben zu retten.
Als die Show beginnt, tritt Satine müde auf, denn sie weiß, dass ihr Leben fast zu Ende ist. Christian, der sich weigert, Satine aufzugeben, steht ihr hinter der Bühne gegenüber. Als sie versucht, ihn wieder abzudrängen, tritt er an die Stelle des Helden der Show, wirft ihr Geld zu Füßen, um "seine Hure zu bezahlen", und stürmt von der Bühne. Satine gesteht ihm ihre Liebe zu ihm in Form seines geheimen Liedes, und Christian und Satine kommen vor den Augen des Publikums und des Herzogs wieder zusammen. Der Herzog versucht, Christian zu erschießen, aber Zidler zwingt ihn, die Bühne zu verlassen. Das Publikum applaudiert, was sie für ein gutes Drama halten, aber hinter der Bühne wird Satine von ihrer Krankheit überwältigt und stirbt in Christians Armen. Als ihren letzten Wunsch bittet sie Christian, ihre Geschichte zu erzählen.
Ein Jahr später, immer noch in seiner Wohnung mit Blick auf die leere rote Windmühle, tippt Christian schließlich die letzte Seite seines Werkes und beendet es mit dem Couplet: "Das Größte, was Sie je lernen werden, ist einfach zu lieben und im Gegenzug geliebt zu werden".