Nina Sayers (Natalie Portman) er en ballerina ved «New York ballettkompani». Livet hennes, i likhet med andre innen profesjonen, dreier seg kun om dans. Hun bor sammen med sin mor (Barbara Hershey), en tidligere ballerina, som har en kvelende kontroll over datteren. Når regissøren Thomas Leroy (Vincent Cassel) bestemmer seg for å bytte ut prima ballerina Beth MacIntyre (Winona Ryder) fra åpningsproduksjonen i den nye sesongen, er Nina hans førstevalg. Men hun har en konkurrent: En ny danser, Lily (Mila Kunis), som imponerer Thomas. «Svanesjøen» krever en danser som både kan spille den hvite svanen, uskyldig og elegant, og den sorte svanen som representerer list og sensualitet. Nina passer perfekt som den hvite svanen, mens Lily er rene personifiseringen av den sorte svanen.