Yun Jin-sung [Song Ji-hyo], a modest girl from a humble background, and the graceful So-hee [Park Han-byul], a standout student with natural talent, are close friends who study ballet at an all-girls art school. So-hee dances to please her mother yet radiates true artistry, earning warm favoritism from the faculty, while Jin-sung, though exceptionally talented, struggles to break out from her friend’s shadow. Despite their different paths, their bond remains strong, and it’s heavily implied that So-hee harbors deeper feelings for Jin-sung. Their friendship is soon tested when they compete for a single spot at a prestigious Russian ballet program, and the odds tilt heavily in So-hee’s favor.
Jin-sung learns from Hye-ju, a timid, overweight and severely bullied sculpture student [Jo An], about an old legend tied to the school: twenty-eight steps lead up to the dormitory, and a determined seeker who reaches the 29th step can summon a wish from a fox spirit. Curious and hopeful, Jin-sung climbs the staircase until she finds the fabled 29th step and wishes for the coveted spot. To her shock and anger, So-hee is chosen instead. Jealousy gives way to resentment, and Jin-sung lashes out in anger, unintentionally shoving So-hee down a flight of stairs. So-hee falls unconscious and ends up hospitalized.
Realizing the severity of So-hee’s injuries, Jin-sung understands that her rival-turned-friend may never dance again. She attempts to visit So-hee but is met with cold silence and guilt. The next day, So-hee dies by suicide, and the fight they had—witnessed by several classmates—leaves Jin-sung branded as the culprit in the eyes of peers who blame her for the tragedy. Despite winning the spot, Jin-sung is treated with cold distance by her fellow students, and So-hee’s absence intensifies the sense that something unseen is chasing Jin-sung. So-hee’s ghost begins to haunt her, lingering at the edges of Jin-sung’s life and dream of ballet.
The tragedy deepens when Hye-ju tries to hold on to So-hee’s belongings as a memory of her only friend, only to be bullied herself by Han Yun-ji. In a moment of desperation, Hye-ju climbs the stairs and wishes for So-hee to come back. So-hee possesses Hye-ju and exacts revenge by stabbing Yun-ji to death. Jin-sung encounters Hye-ju, who claims to be So-hee, a terrifying encounter that forces Jin-sung to flee. So-hee’s spirit eventually frees itself from Hye-ju’s body, but the violence has torn through the people around them and left scars that won’t heal easily.
In a chilling turn, Hye-ju sets the basement ablaze in a bid to scare Jin-sung into confessing or breaking, but the fire consumes more than she intended, and Hye-ju dies in the flames. So-hee’s ghost is freed once more, its presence lingering in the dorm and corridors of the art school.
The night before Jin-sung’s departure to the ballet school, So-hee relentlessly pursues her former friend. Desperate and overwhelmed, Jin-sung tries to climb the stairs again to wish So-hee away. Just before reaching the 29th step, So-hee appears and holds Jin-sung in place, refusing to let her move. In a moment of vulnerability, Jin-sung admits that she did not hate So-hee; she simply wanted to achieve something for herself and be happy. So-hee’s embrace, part protective, part possessive, is crushing: it wounds Jin-sung’s stomach and proves fatal. Yet the wish is granted, and So-hee vanishes.
In the aftermath, a new cello student moves into the dorm Jin-sung once inhabited. A photographed portrait of Jin-sung and So-hee remains on the wall, but So-hee’s irises suddenly disappear from the image, implying that while she may be gone in the flesh, the presence of So-hee still lingers in the story and in the memory of those who witnessed their intertwined fate.