Following a meeting with their lawyer, Jordan Kalfus (MICKEY ROURKE), Mexican industrialist Samuel Ramos (MARC ANTHONY) and his American wife, Lisa (RADHA MITCHELL), decide that they need to hire a new bodyguard for their young daughter, Pita (DAKOTA FANNING), after her current one quits. Former CIA operative Rayburn (CHRISTOPHER WALKEN) thinks he has the man for them in friend and fellow ex-operative John Creasy (DENZEL WASHINGTON).
While overqualified, the latter hasn't ever worked in such a fashion, but agrees, making Samuel fully aware of his drinking problem. He decides to let Lisa and Pita make the final decision on John's employment, and with their approval John is hired. Being a precocious sort, Pita thinks of John as her new friend, but he makes it clear that he's not interested in that and only wants to do his job. Yet, over time, the two eventually bond, particularly when John takes to coaching her regarding her swim meets.
Then the unthinkable happens. While waiting for her piano lesson to end, corrupt Mexican cops and others close in on the scene with the intent of kidnapping Pita. John tries his best, but is outmanned and outgunned, resulting in Pita being abducted, and John severely wounded and arrested for the murder of two cops.
Current Mexican investigator Miguel Manzano (GIANCARLO GIANNINI) knows John is innocent, but worries about his safety and thus covertly moves him to Rayburn's place to recuperate. With the help of Manzano and Mariana (RACHEL TICOTIN), a local reporter who wants to expose the kidnapping problem, John sets out to get his revenge on those who kidnapped Pita. In doing so, he scales the ladder of corruption that eventually leads to corrupt cop Victor Fuentes (JESUS OCHOA) and finally ringleader Daniel Sanchez (GUSTAVO SANCHEZ PARRA).