2차세계대전 시기, 한 시골마을에 정착하여 살던 의사 줄리앙은 마을이 독일군의 점령되게 되자 아내와 딸을 자신의 고향으로 피신시킨다. 이후에 고향으로 찾아간 그는 아내와 딸이 독일군의 손에 무참히 강간당하고 불에 태워졌음을 보게된다. 힘없고 선량한 일개 시민이었고 민병대에도 참여를 꺼렸던 나약한 줄리앙은 할아버지가 쓰셨던 낡은 사냥총을 꺼내드는데...

1931년 대공황과 금주령의 미국. '죽음의 천사'라고 불리는 마이클 설리반(톰 행크스 분). 마피아 보스의 양아들이기도 한 그는 조직의 일원으로 중요한 임무를 해결하며 살아가고 있다. 물론 거기에는 상대 세력을 제거하는 일(킬러)도 포함되어 있다. 집에서는 자상한 남편이자 든든한 아버지인 마이클. 하지만 그는 세상에서 가장 사랑하는 두 아들에게 차마 자신의 직업을 말하지 못한다. 그러던 어느날 보스의 친아들 코너와 함께 라이벌 조직에게 경고 메시지를 전하러 갔는데 코너가 보스의 명령을 어기고 돌발적인 살인을 저지르고 만다. 그런데 그것보다 더 심각한 일이 발생한다. 평소 아버지의 직업을 궁금해 하던 마이클의 큰 아들 마이클 주니어(타일러 후츨린 분)가 그 광경을 목격한 것이다. 이 사건으로 아버지의 신임을 잃게 된 코너는 마이클 일가(아내와 막내)를 처참하게 살해한다. 아슬아슬한 시간 차로 목숨을 건진 마이클과 그의 큰 아들. 이제 마이클은 이 모든 일의 배후에 조직이 개입되어 있다고 판단, 어린 아들과 함께 거대 조직을 상대로 힘겹고 험난한 복수의 여정을 시작한다. 세상에서 가장 고독한 아버지와 아들. 그들은 비로소 서로의 존재감을 그 어느 때 보다 절실히 느끼게 된다. 그리고 늘 아버지의 사랑에 목 말라 하던 마이클 주니어는 동생과 달리 자신에게는 절제된 사랑을 베풀었던 아버지의 진실을 읽게 되는데.

친구, 가족 그리고 나의 아들… 내가 망친 모든 것들을 되돌릴 수 있는 마지막 시간이 왔다! “아들아, 오늘밤만이라도 아버지 말 들어라. 방아쇠 당기지 마, 아비보다 못한 놈은 되지 말아라” 은퇴한 킬러 지미(리암 니슨)는 최악의 아버지였다. 하지만 우연히 살인사건 현장을 목격한 후 쫓기게 된 아들 마이크를 지키기 위해, 오늘밤만은 은인이자 보스인 숀(에드 해리스)의 검은 조직에 맞서 총을 들어야만 한다.

델타포스 출신의 FBI 비밀요원 프랭크 캐슬은 무기 거래상 위장근무를 끝으로 은퇴, 사랑스런 가족의 품으로 돌아가 평범한 삶을 살기로 결심한다. 하지만 마지막 임무를 수행하던 중 처치한 범인이 무기 밀매와 검은 돈 세탁에 연루된 거대기업의 총수 하워드 세인트의 아들이란 사실이 밝혀지고, 격노한 하워드는 상상을 초월하는 무자비한 방법으로 프랭크의 아내와 아들, 가족 모두를 몰살하기에 이른다. 가까스로 혼자만 살아남은 프랭크에게 가족이 죽어가는 처참한 기억은 잔인하기만 하다. 5개월이 지나도록 법과 정의 조차도 돈과 권력을 방패로 삼은 하워드를 처벌할 수 없음을 깨달은 프랭크는 스스로 '퍼니셔'가 되어 세인트 그룹과 하워드 패밀리를 붕괴시킬 계획을 세운다. 이제 단순한 복수의 차원을 뛰어넘어 심리전과 첨단 전술을 동원한 프랭크의 잔인한 처형이 시작되는데.