In 1957, the Jets, a gang of white youths, clash with the Puerto Rican Sharks over dominance in San Juan Hill, located on Manhattan's Upper West Side. During a brief confrontation, Officer Krupke (Brian d'Arcy James) and Lieutenant Schrank (Corey Stoll) intervene, informing the gangs that their struggle is futile as their neighborhood is set to be demolished to make way for Lincoln Center.
Despite this, the gangs remain resolute, with the Jets’ leader Riff (Mike Faist) suggesting a "rumble" – a planned fight – between the two groups. Riff seeks the aid of his friend Tony (Ansel Elgort), who is on parole and wishes to change his life for the better with guidance from Valentina (Rita Moreno), the Puerto Rican owner of Doc's general store.
Meanwhile, Maria (Rachel Zegler), the sister of Shark leader Bernardo (David Alvarez), is engaged to his friend Chino (Josh Andrés Rivera), yet she yearns for her independence. At a local dance, Maria meets Tony, and they instantly fall in love, despite the historical barriers bonded by their respective gangs. The school had arranged a social experiment encouraging whites and Puerto Ricans to dance together, yet Riff and Bernardo adhere strictly to their racial divisions.
While searching the dance floor, Tony discovers Maria alone, sidelined since Chino cannot dance due to his boxing commitments. They share a private moment as they dance behind the stadium seats, igniting Bernardo's fury. Accepting Riff's challenge for the rumble, Bernardo agrees to meet the next night at midnight, promising no use of knives or guns. As the fervor of love brews, Tony and Maria pledge to meet secretly on Maria’s fire escape.
Conflict brews between Bernardo and his girlfriend Anita (Ariana DeBose) regarding their life in New York versus Puerto Rico, with Anita believing in the American Dream, while Bernardo clings to traditional values, aspiring for a family back home. Tensions escalate when the police question the Jets about the upcoming rumble, but the gang remains quiet.
Tony takes Maria to the Cloisters in Upper Manhattan, revealing his past of imprisonment for a violent crime, which has compelled him to reform his life. Maria passionately implores Tony to stop the rumble, solidifying their love and dreams of a future together.
Despite their desires, Tony's attempts to prevent the fight prove to be futile. Riff and Tony plead with the other gangs to abandon the rumble, but tensions ignite and eventually lead to violent confrontations. Riff is tragically killed by Bernardo in a moment of rage, and Tony, in retaliation, fatally stabs him. Chaos ensues as the gangs scatter, fleeing at the arrival of the police.
Heartbroken, Maria expresses her love for Tony while working at her night job, only for Chino to arrive and shatter her world with the news of Bernardo's death. Stricken with grief, Maria and Tony devise a plan to elude the spiraling violence and escape together. Meanwhile, Valentina reflects on her own past interracial relationship with the deceased Doc, pondering the dream of acceptance.
The stakes rise as Chino, motivated to exact revenge, seeks out Tony. After a confrontation at the morgue where Maria identifies Bernardo's body, Anita struggles with her loyalty to both Maria and her cultural heritage. Tragedy strikes when Anita, trying to warn Tony of Chino's intentions, is assaulted by the Jets, causing her to lose faith in her American aspirations.
In the aftermath of these events, Maria finds herself with Tony moments before disaster strikes. When Chino materializes, he tragically shoots Tony, who dies in Maria’s arms. Heartbroken, Maria takes Tony's gun, confronting the gathered Jets and Sharks as she laments the needless violence their conflicts have brought upon them. In a tearful act of defiance, she drops the gun, as the police close in on Chino. The gangs come together to honor Tony’s memory, carrying his lifeless body into Doc's, with Maria mourning beside them.