Koniec lat 50. w Berlinie. Wątły i chorowity Michael przypadkowo spotyka Hannę Schmitz (Oscar dla Kate Winslet). Tak zaczyna się osobliwa relacja 15-latka i starszej od niego o ponad 20 lat tramwajowej konduktorki. Mają romans. Ona odkrywa przed nim świat seksu. Dzięki niej Michael poznaje, czym jest miłość.
Hanna nie domaga się w zamian czułości, ciepła. Jest dziwnie zimna i wycofana. Żąda jedynie, by chłopak przy każdym spotkaniu czytał jej na głos książki, które przerabia na lekcjach w szkole. Traktuje go jak podwładnego, któremu wydaje rozkazy. Gdy widz jest już przekonany, że ogląda melodramat o dojrzewaniu i trudnej miłości, następuje wolta. Hanna znika.
Mija kilka lat. Michael jest już studentem prawa na uniwersytecie w Heidelbergu. Pewnego dnia – w ramach praktyk – obserwuje proces sądowy nazistowskich zbrodniarzy. Na ławie oskarżonych zasiada Hanna, która podczas wojny była strażniczką w obozie dla kobiet i nadzorowała transporty więźniarek do Oświęcimia.
Michael próbuje zrozumieć, jak to możliwe, że osoba, którą pokochał, okazała się katem. A w dodatku nadal go fascynuje. Nie potrafi jej potępić, uznać za wcielenie czystego zła, choć zarazem coś go od niej odpycha.
Odtąd nawet jako dorosły mężczyzna (Fiennes) zmaga się z przygniatającym poczuciem winy. Relacja z Hanną uwikłała go w mroczną przeszłość wojenną Niemiec. Czuje się odpowiedzialny za zbrodnie starszego pokolenia. Próbuje zrozumieć, jak doszło do tragedii Holokaustu, ale jej istota ciągle mu się wymyka.