סולומון נורת'אפ (צ'ואיטל אג'יופור) הוא אדם שחור חופשי, מוזיקאי מוכשר ומיומן בנגינת כינור, המתגורר במדינת ניו יורק בצפון ארצות הברית. חייו משתנים באופן טראגי כאשר הוא נלכד באכזריות ונמכר לעבדות בדרום, באמריקה שלפני מלחמת האזרחים, אז העבדות הייתה חוקית ומקובלת בחברה. בדרום, נורת'אפ מתמודד עם אלימות קשה, השפלה מתמדת וחוסר אנושיות מצד בעלי העבדים והמפקחים. הוא נאלץ לשרוד בסביבה עוינת ומסוכנת, כשהוא נאבק לשמור על כבודו האנושי בתוך מציאות של עבדות ואכזריות.
למרות הקשיים, נורת'אפ מחפש רגעים קטנים של חסד ותקווה, שנועדו לשמור עליו רוחו ולסייע לו לעמוד מול הקשיים האיומים. הוא מנסה לשמור על זהותו וחירותו הפנימית, מבלי לאבד את האמונה בעצמו ובאפשרות לחזור לחייו הקודמים כחופשי. הסיפור מתאר את המסע האישי של אדם שנזרק אל תוך מצב בלתי אפשרי, אך שואף לשרוד ולשמר את אנושיותו בתוך מערכת אכזרית של עבדות. הסרט מציג את המאבק הקשה של סולומון נורת'אפ לשמור על כבודו האנושי ולשרוד את השנים הארוכות של עבדות, כשהוא נלחם לא רק על חייו אלא גם על זכרון החופש והאמת שלו. בעזרת כוח הרצון והנחישות, הוא מנסה למצוא דרך לחזור אל משפחתו ולחופשי, על אף כל הקשיים והסכנות שבדרך. לאורך השנים, סולומון מצליח ליצור קשרים עם כמה אנשים טובי לב, ביניהם רופא לבן שמאמין בסיפורו ומסייע לו במאמצים לשחררו. הסרט מדגיש את ההבדלים החדים בין הצפון לדרום בארצות הברית באותה תקופה, ומציג את המורכבות והאכזריות של מערכת העבדות. בסופו של דבר, לאחר שנים של סבל, סולומון משוחרר וחוזר לביתו בניו יורק, שם הוא מתאחד עם משפחתו. "12 שנים של עבדות" מבוסס על סיפור אמיתי ומביא למסך תיעוד מרשים של תקופה אפלה בהיסטוריה, תוך שהוא מזכיר את חשיבות הזיכרון והמאבק למען זכויות אדם וחירות.
