Jim Hanson (Liam Neeson) mène une vie tranquille et sans problèmes. Cowboy et éleveur, cet ancien des Marines et vétéran de la guerre du Viêt Nam, vit seul dans son ranch à la frontière entre l'Arizona et le Mexique. Un jour, il voit une femme et son enfant franchir illégalement la frontière pour entrer sur le territoire américain. Ils sont poursuivis par un groupe d'hommes armés qui blessent la mère de famille, Rosa (Teresa Ruiz). Après avoir défendue la mère et son fils d'onze ans, Miguel (Jacob Perez). Il promet à Rosa, qui ne survit pas à ses blessures, de protéger Miguel. Ils devront affronter les tueurs d'un cartel de la drogue dirigé par Maurico.