Início dos anos 70. Harvey Milk (Sean Penn) é um nova-iorquino que, para mudar de vida, decidiu morar com seu namorado Scott (James Franco) em San Francisco, onde abriram uma pequena loja de revelação fotográfica. Disposto a enfrentar a violência e o preconceito da época, Milk busca direitos iguais e oportunidades para todos, sem discriminação sexual. Com a colaboração de amigos e voluntários (não necessariamente homossexuais), Milk entra numa intensa batalha política e consegue ser eleito para o Quadro de Supervisor da cidade de San Francisco em 1977, tornando-se o primeiro gay assumido a alcançar um cargo público de importância nos Estados Unidos.