《铁路人》改编自埃里克·洛马克斯(Eric Lomax)的同名畅销小说。二战期间英国士兵洛马克斯被日军俘虏,被迫在在缅甸-暹罗(泰国旧称)做铁路苦工,身心受尽难以想象的摧残,他一生都难以逃出阴影。三十年后,洛马克斯获悉曾经折磨过他的一个日本兵还活在人世,他决定去见见这个人,不是为了报复寻仇,而是想要与过去和解。。故事发生在1968年的南非,严格残酷的种族隔离制度让在那里生活着的两千五百万黑人面临着悲惨的命运。为了维护种族的权利,一部分黑人们奋起反抗,但等待着他们的结局不是驱逐出境就是被关押在罗宾岛监狱之中。
詹姆斯(约瑟夫·费因斯 Joseph Fiennes 饰)就出生在这样恶劣的局势之中,幸运的是,他是一位不折不扣的白人。从小大人们就向詹姆斯灌输着“黑人低人一等”的荒谬概念,成年之后,已然完全被洗脑的詹姆斯成为了罗宾岛监狱的一名看守,而他所看管的囚犯正是南非的民主斗士曼德拉(丹尼斯·海斯伯特 Dennis Haysbert 饰)。随着时间的推移,对黑人们越来越了解的詹姆斯开始对自己的所作所为产生了质疑——难道白人就真的可以这样理所当然的囚禁和侮辱自己的同胞吗?。吉米·波波(西尔维斯特·史泰龙 Sylvester Stallone 饰)是一名混迹黑道、刀头舔血的杀手,他奉行不杀女人和儿童的原则,和合作长达六年的搭档路易斯·布兰查登(乔恩·塞达 Jon Seda 饰)将一个个渣滓送往地狱。在刺杀前恶德警察格雷利的行动中,吉米恻隐心动,冒险放走了一名女子。未过多久,路易斯在酒吧争执中遇害。警方根据女人的口供和路易斯的身份,顺藤摸瓜查到吉米。探员泰勒·科旺(姜成镐 饰)辗转与吉米接洽,谁知却遭到一伙不明身份之人的袭击。身受枪伤并且意外杀死警察的泰勒得到吉米的救助,这两个分出黑白两道的男人被迫联合在一起。
而在接二连三的袭击背后,不为人知的阴谋正有条不紊地展开……。