Due gang: i giovani immigrati portoricani Sharks, capeggiati da Bernardo (David Alvarez), e gli americani bianchi Jets, con a capo Riff (Mike Faist), lottano per il controllo del territorio del West Side newyorkese e si scontrano ripetutamente per le strade. Durante un ballo a cui partecipano entrambe le fazioni, Maria (Rachel Zegler), sorella di Bernardo, e Tony (Ansel Elgort), un bravo ragazzo ex membro dei Jets, si innamorano a prima vista.