It's Texas in the late 1940s and John Grady Cole (MATT DAMON) has just learned that his estranged mother will be selling his family's ranch now that his grandfather has died. Yearning for the life of a farmhand, Cole sets off to Mexico with his best friend, Lacey Rawlins (HENRY THOMAS), hoping to find such work on the legendary, sprawling ranches south of the Rio Grande.
En route, they run into Jimmy Blevins (LUCAS BLACK), a troubled teen and crackerjack shot who's afraid of lightning and may or may not have stolen both his gun and the horse he's riding. After Jimmy loses the latter, the two help him retrieve the horse from its new owner, but barely end up avoiding the gun-toting posse that sets out after the teen.
The two then make it into Mexico where they find work on a sprawling ranch owned by Rocha (RUBEN BLADES). Cole and Lacey are handy around a farm, and Cole's expertise and knowledge about horses lands him a plum equestrian job working directly for the big boss. Of course, that might not have happened had the owner realized that his beautiful adult daughter, Alejandra (PENELOPE CRUZ), has eyes for the young American and vice-versa.
Alejandra's wise and knowing aunt, Dona Alfonsa (MIRIAM COLON), however, sees just that, and warns Cole not to be responsible for ruining her niece's reputation and honor since those are the only things Mexican women can control. Disregarding that advice/warning, Cole and Alejandra fall into each other's arms, prompting her family to send her off for a while to cool things off.
In the meantime, Cole and Lacey's previous association with Jimmy lands them in a Mexican jail where a corrupt Police Captain (JULIO OSCAR MECHOSO) wants them to confess to crimes they didn't commit. From that point on, the two men must deal with the repercussions that follow, as well as Cole's desire to see and be with Alejandra once again.