Stati Uniti. Negli anni che hanno preceduto la guerra civile americana, Solomon Northup (Chiwetel Ejiofor), un nero nato libero nel nord dello stato di New York, viene rapito e venduto come schiavo. Misurandosi tutti i giorni con la più feroce crudeltà (impersonificata dal perfido mercante di schiavi interpretato da Michael Fassbender) ma anche con gesti di inaspettata gentilezza, Solomon si sforza di sopravvivere senza perdere la sua dignità. Nel dodicesimo anno della sua odissea, l'incontro con un abolizionista canadese (Brad Pitt) cambierà per sempre la sua vita. 12 anni schiavo è tratto dall'incredibile storia vera di un uomo e della sua battaglia per la sopravvivenza e la libertà.