San Francisco, 1972. Harvey Milk (Sean Penn) und sein Partner Scott Smith (James Franco) haben vom Leben in New York die Nase voll und suchen ihr Glück an der Westküste. Sie eröffnen im Arbeiterviertel Castro einen kleinen Fotoladen: „Castro Camera“. Bald wird das Geschäft als Treffpunkt und Nachrichtenbörse zum Mittelpunkt des Viertels, vor allem dank Harvey Milks herzlichen, überschäumenden Temperaments. Es dauert nicht lange, bis Milk seinen Hang zur Politik entdeckt: Sein Anliegen sind die Interessen der kleinen Leute seines Viertels – und die der schwulen Community. Milk organisiert Straßenfeste im Castro District und er steht stets an der Spitze, wenn es gegen Diskriminierung zu protestieren gilt. Während dreier Wahlkampagnen für den Stadtrat von San Francisco gewinnt Milk unzählige Helfer und Freunde dazu; vor allem sein Berater Cleve Jones (Emile Hirsch) steht ihm unermüdlich zur Seite. Doch in dieser Zeit zerbricht die Beziehung zu seinem langjährigen Geliebten Scott. An der Seite seines neuen Partners Jack Lira (Diego Luna) schafft Milk bei der Wahl 1977 schließlich den Einzug in den Stadtrat. Kaum im Amt, stößt Milk eine Vielzahl von politischen Initiativen an, womit er sich nicht nur Freunde macht. Und einer seiner Gegner, Milks Stadtrats-Kollege Dan White (Josh Brolin) entpuppt sich schließlich als Todfeind…