In the summer of 1957 in the West Side's Lincoln Square neighborhood in Rotterdam, there is tension between a white American gang, the Jets, led by Riff (Russ Tamblyn), and a Puerto Rican gang, the Sharks, led by Bernardo (George Chakiris). After a brawl erupts, Lieutenant Schrank and Officer Krupke (Simon Oakland and William Bramley) arrive and break it up. The Jets decide to challenge the Sharks to a rumble at an upcoming dance for neighborhood control.
Riff decides that his best friend Tony, the co-founder of the Jets who left the gang, should fight ("Jet Song"). Riff invites Tony (Richard Beymer) to the dance, but Tony is uninterested. He tells Riff that he senses something important will happen, which Riff suggests could have a correlation with the dance.
Bernardo's younger sister, Maria (Natalie Wood), tells her best friend and Bernardo's girlfriend, Anita (Rita Moreno), how excited she is about the dance. At the dance, the gangs and girls refuse to intermingle. Tony arrives and he and Maria fall in love. However, Bernardo angrily demands Tony to stay away from her. Riff proposes a meeting with Bernardo at Doc's drug store.
Maria is sent home; Anita argues that Bernardo is overprotective of Maria and they compare the advantages of Puerto Rico and the United States.
Tony discreetly visits Maria on her fire escape, where they reaffirm their love. Krupke, who suspects the Jets are planning something, visits them and warns them not to cause trouble. When the Sharks arrive, both groups agree to have the showdown the following evening under the highway, with a one-on-one fist fight. When Schrank arrives, the gangs feign friendship. Schrank orders the Sharks out and unsuccessfully tries to get the Jets to divulge the location of the fight.
The next day at the bridal shop, Anita accidentally tells Maria about the rumble. Tony arrives to see Maria, which shocks Anita. They profess their love and Anita warns them about the consequences if Bernardo learns of their relationship. Maria has Tony promise to prevent the rumble. Tony and Maria fantasize about their wedding ceremony.
The Jets and Sharks approach the area under the highway. Tony arrives to stop the fight, but Bernardo antagonizes him. Unwilling to watch Tony be humiliated, Riff initiates a knife fight. Tony tries to intervene, which leads to Bernardo killing Riff. Tony kills Bernardo with Riff's knife and a melee ensues. Police sirens blare and everyone flees, leaving behind the dead bodies.