Der Basketballer Troy Bolton befindet sich mit seinen Eltern im Winterurlaub. Am Silvesterabend besucht er eine Party, auf der er mit Gabriella Montez an einem Karaoke-Wettbewerb teilnehmen muss. Nach einem zögerlichen Beginn legen beide ihre Scheu ab und singen gemeinsam das Lied Start of Something New. Nach dem Auftritt tauschen sie ihre Handynummern und zwei Fotos aus, verlieren sich jedoch aus den Augen.
Als die Schule wieder beginnt, treffen sich Troy und Gabriella wieder, da Gabriellas Mutter an einen neuen Firmenstandort versetzt wurde und sie nun die selbe Schule besucht. Troy ist der Kapitän des Basketballteams Wildcats der Schule, das die Chance auf die Meisterschaft hat. Traditionell wird in der Schule ein Wintermusical aufgeführt, dessen Castings bald anstehen. Beide überlegen, ob sie teilnehmen sollen, entscheiden sich jedoch dagegen. Trotzdem verfolgt Troy das Casting als Zuschauer, versteckt sich jedoch, da er nicht möchte, dass seine Freunde von dem Interesse an dem Musical erfahren. Auch Gabriella ist beim Casting anwesend. Währenddessen singen die Geschwister Sharpay und Ryan das Lied What I’ve Been Looking For und scheinen die Rollen auch zu bekommen, da keine Konkurrenz im Partnercasting antritt. Kurz vor Schluss meldet sich Gabriella, so dass Troy ihr auf die Bühne nachfolgt. Die Kunstlehrerin Mrs. Darbus meint jedoch, dass das Casting bereits beendet sei. Obwohl sie den Raum bereits verlässt, singen die beiden auf dem Klavier begleitet von der Komponistin des Musicals, Kelsi, das gleiche Lied und überzeugen so Mrs. Darbus, einen Recall einzuberufen.
Als publik wird, dass der Kapitän des Basketballteams etwas Neues ausprobiert, laufen die Dinge aus dem Ruder. Troys bester Freund Chad befürchtet, dass das Basketballteam auseinander bricht, und auch Gabriellas Freundin Taylor McKessie, welche den Wissenschaftsclub leitet, befürchtet Schaden für ihr Team, wenn Gabriella an der Musical-Produktion teilnimmt. So beschließen Chad und Taylor, Gabriella und Troy gegeneinander auszuspielen, so dass sie ihre Teilnahme aufgeben. Chad bringt Troy dazu, das Singen vor seinen Teamgefährten als unwichtig darzustellen und sich damit gegen Gabriella auszusprechen. Dies wird per Webcam auf Taylors Laptop übertragen, die dafür sorgt, dass Gabriella es mitbekommt. Daraufhin erklärt diese dem ahnungslosen Troy, dass sie nicht mit ihm singen wird.
Doch es kommt anders als die beiden es sich gewünscht haben, denn Troy zeigt keinerlei Motivation mehr für das Basketballspiel, während Gabriella sich auch nicht für den akademischen Zehnkampf, bei dem die Wissenschaftsgruppe teilnehmen will, vorbereitet. So entschließen sie sich, die Wahrheit zu sagen. Gabriella jedoch ist weiterhin verletzt, bis Troy ihr Haus aufsucht und, als Gabriella durch ihre Mutter ausrichten lässt, dass sie zu tun hätte, auf ihren Balkon klettert und erneut Start of Something New singt.
Nun wollen beide wieder am Musical teilnehmen und eigentlich könnte nichts mehr schief gehen, wenn da nicht Sharpay wäre: Sie sieht ihre Chancen auf die diesjährige Hauptrolle schwinden und beschließt, alles daran zu setzen, dass Troy und Gabriella den Recall nicht besuchen können. Nach einer kurzen Unterhaltung mit Mrs. Darbus legt diese den Termin für den Recall zeitgleich zu dem Basketballendspiel und dem akademischen Zehnkampf. Doch Sharpay hat die Rechnung ohne Gabriellas und Troys Freunde gemacht: Taylor manipuliert die Anzeigetafel beim Basketballspiel, sodass die Schiedsrichter die Austragung unterbrechen und, nachdem Gabriella eine Disziplin im Zehnkampf gemeistert hat, mischen sie eine Art Stinkbombe zusammen, sodass alle den Raum verlassen müssen.
Und so finden sich die beiden wieder auf der Bühne und singen gemeinsam Breaking Free. Gabriellas und Troys Freunde kommen in Scharen und sind begeistert. Sharpay und Ryan, die zuvor Bop to the Top gesungen haben, schaffen es nicht, sich gegen Gabriella und Troy durchzusetzen, weshalb Troy und Gabriella die Rollen im Musical erhalten. Schließlich kann das Problem mit der Anzeigetafel wie durch ein Wunder behoben werden, das Spiel wird fortgeführt und die Wildcats gewinnen es. Auch Gabriellas Wissenschaftsteam gewinnt. Troy und Gabriella hätten sich fast geküsst, im entscheidenden Moment platzt jedoch Chad dazwischen. Taylor hat ein Date mit Chad. Der Film endet in einer grandiosen Feier, in der die gesamte Schule in einer Performance des Liedes We’re All in this Together zusammen singt und dabei tanzt.