La película está ambientada en el año 1900. Christian (interpretado por Ewan McGregor) es un escritor británico que llega al pueblo de Montmartre, en París, en 1899, cuando el movimiento bohemio está en pleno apogeo. Se sienta en un piso con vistas al teatro cerrado llamado Moulin Rouge mientras escribe en una máquina de escribir. La historia que escribe es sobre la mujer que amaba, Satine (interpretada por Nicole Kidman).
En 1899, Christian llega a París y se hace amigo de un grupo de bohemios que visitan regularmente el Moulin Rouge. Intentan producir un musical llamado "Spectacular Spectacular", que el propietario del Moulin Rouge, Harold Zidler (interpretado por Jim Broadbent), planea mostrar en el cabaret. El líder de los Bohemios, Toulouse-Lautrec (interpretado por John Leguizamo), está encantado con el talento de Christian para escribir e insiste en que escriba su musical, "Spectacular Spectacular". Una vez que descubren que Christian es un escritor asombroso, idean un complicado plan de presentar a Christian a Satine, que es una hermosa cortesana, con la esperanza de que quede impresionada con él y convenza a Zidler para que contrate a Christian como escritor del musical.
Satine comprende lo que implica su trabajo, aunque espera dejar el Moulin Rouge para convertirse en una actriz "de verdad". Por una serie de malentendidos, confunde a Christian con el rico y poderoso duque que invertirá en el musical "Spectacular Spectacular". Se queda encantada con su poesía. Declara que se ha enamorado de él, pero se sorprende al darse cuenta de que en realidad es un pobre poeta bohemio.
Después de un rato, el verdadero Duque (interpretado por Richard Roburgh) encuentra a Christian y Satine juntos. Consiguen engañarle haciéndole creer que están trabajando en el musical "Spectacular Spectacular". El reparto principal llega e improvisa el argumento del espectáculo sobre la marcha: una bella cortesana india ve invadido su reino por un "malvado maharajá". Ella se propone seducirlo para salvar su reino, pero accidentalmente seduce y luego se enamora de un sitarista sin dinero. Los dos deben ocultar su amor y evitar al maharajá, aunque se da a entender que uno de ellos puede morir al final de la historia. (Pronto se comprende que el tema de su obra prefigura lo que ocurre en la trama de la película). El duque acepta apoyar el espectáculo. Pero rápidamente demuestra que es un hombre violentamente celoso que cerrará el Moulin Rouge si no consigue a Satine para él. No obstante, acepta que Satine esté ocupada con los ensayos y en estrecho contacto con Christian, el guionista del musical.
Christian y Satine se enamoran, mientras que Zidler lucha por mantener el interés del Duque en el musical "Spectacular Spectacular" a pesar de que Satine aún no se ha acostado con él. Harold Zidler también descubre que Satine se está muriendo de una enfermedad llamada tuberculosis, pero no se lo dice a nadie debido a su lema: "El espectáculo debe continuar". Mientras tanto, Christian sigue trabajando en la obra, en la que la cortesana y el sitarista sin dinero acaban juntos. El duque, sin embargo, no aprecia el final y dice al reparto que la cortesana debe acabar con el maharajá. Para convencer al duque de que cambie de opinión, Satine accede finalmente a pasar la noche con él. Christian se ve invadido por los celos mientras Satine cena con el duque, que le ofrece todo lo que ha soñado. Sin embargo, cuando Satine ve a Christian en la calle, rechaza la oferta del duque y éste intenta violarla. Después de escapar, Satine y Christian planean huir.
A estas alturas, el duque se ha dado cuenta de las artimañas de Satine, y le dice a Zidler que, si el "maharajá" no consigue a su "cortesana", mandará matar al "sitarista sin dinero". Sin embargo, Zidler debe informar a Satine de su condición final antes de que ella acepte abandonar el plan de fuga. Va a ver a Christian y le miente, convenciéndole de que su amor era un acto con la esperanza de que esto le haga querer abandonar París y, por tanto, salvar su vida.
Al comenzar el espectáculo, Satine actúa cansada, sabiendo que su vida está a punto de terminar. Christian, que se niega a abandonar a Satine, se enfrenta a ella entre bastidores. Cuando ella intenta obligarle a marcharse de nuevo, él se pone en el lugar del héroe del espectáculo, arrojando dinero a sus pies para "pagar a su puta", y abandonando furiosamente el escenario. Satine le confiesa su amor en la forma de su canción secreta, y Christian y Satine vuelven a estar juntos a la vista del público y del duque. El duque intenta disparar a Christian, pero Zidler le obliga a retirarse. El público aplaude lo que cree que es un buen drama, pero entre bastidores, Satine es vencida por su enfermedad y muere en los brazos de Christian. Como último deseo, le pide a Christian que cuente su historia.
Un año más tarde, todavía en su piso con vistas al molino rojo vacío, Christian teclea por fin la última página de su obra, que termina con la copla: "Lo más grande que aprenderás, es simplemente amar, y ser amado a cambio".