Plot
London music student Julian Craster attends a performance of the ballet Heart of Fire, performed by the eminent travelling ballet company Ballet Lermontov and scored by his professor. Also present are young dancer Victoria 'Vicky' Page and her aunt Lady Neston. Julian furiously walks out after recognising that the professor has plagiarised his compositions.
Lady Neston hosts an after-party in honour of the Ballet Lermontov's impresario, Boris Lermontov. After Vicky tells Boris that dancing is the most important thing in her life, Boris invites her to spend time with his ballet before it leaves for Paris. He hires Vicky full-time after watching her dance the lead in Swan Lake with Ballet Rambert at the Mercury Theatre.
Julian angrily writes a letter to Boris exposing his professor's misconduct. He has a change of heart and visits Boris to take the letter back, but Boris has already read it and is sympathetic. Boris hires Julian as a répétiteur and assistant to the company's conductor. He soon grows impressed with Julian's artistic ambition.
In Paris, Ballet Lermontov's principal dancer Irina Boronskaya is required to leave the company upon getting married, per company policy. Although Boris's official rationale is that love distracts from artistic excellence, the film also reveals that he takes his coworkers' emotional lives (which he lacks) as a personal slight, due to his jealousy of their happiness.
The company proceeds to Monaco. In Irina's absence, Boris casts Vicky as the lead in a new ballet, The Ballet of the Red Shoes (based on the Andersen fairytale), and hires Julian to score it. In the ballet, a dancer acquires a pair of red ballet shoes which enable her to dance with superhuman skill, but at a price: she can never stop dancing until she dies. During rehearsals, Julian and Vicky's ambition and pride lead them to clash at first—to Boris's glee. However, they develop respect for each other as artists.
The Ballet of the Red Shoes is a resounding success. Boris revitalises the company's repertoire with Vicky as the prima ballerina and Julian as the star composer. In the meantime, Vicky and Julian fall in love. Although Boris is not romantically attracted to Vicky, he is emotionally possessive of his new star. He tries to break up the relationship by telling them that their work is getting worse, but it is implied that he is projecting his own insecurities onto the relationship, as Boris's choreographer is full of praise for Julian. Boris gives Julian an ultimatum to break up with Vicky or leave the company. Julian and Vicky move back to London together and get married. Boris breaks his no-marriage rule to rehire Irina, but cannot mentally let go of Vicky.
In London, Vicky and Julian's careers go in different directions. Julian writes an opera that is set to open in Covent Garden, while Vicky's ballet career stalls. Vicky goes on holiday to Cannes without Julian, who is focused on his work. Boris meets her there. He reminds Vicky that she is the one making all the sacrifices in her marriage, and persuades her to "put on the red shoes again".
Coincidentally, the opening night of Julian's opera in London falls on the same date as Vicky's comeback performance in Monaco. Although Julian is supposed to conduct on opening night, he abruptly leaves for Monaco as a grand gesture for Vicky. In return, he insists that Vicky cancel her performance and leave Monaco and Boris immediately. After Julian and Boris have a heated argument about the value of art versus love, an anguished Vicky chooses to stay with Ballet Lermontov.
An attendant escorts Vicky to the stage. She is wearing the red shoes, and looks faint. She suddenly runs off and jumps in front of an oncoming train, paralleling her ill-fated character in the ballet. Julian tries to save her, but cannot. As Vicky dies, she asks Julian to remove the red shoes.
A shaken Boris announces to the audience that "Miss Page is unable to dance tonight—nor indeed any other night". The company performs The Ballet of the Red Shoes with a spotlight on the empty space where Vicky would have been.