Nils Dickman (spilt av Stellan Skarsgård) arbeider som sjåfør i den fiktive byen Tyos, i Norge. Sønnen hans Ingvar blir funnet død som følge av en heroinoverdose. Politiet etterforsker ikke saken videre, men Dickman er sikker på at sønnen hans ikke var noen rusmiddelbruker. Han får vite fra Finn, en av sønnens venner, at Ingvar ved en feiltakelse ble drept av en gjeng narkotikaselgere som egentlig hadde til hensikt å drepe Finn. Da begynner Nils å jakte på sønnens mordere på egen hånd.