In 1949, young cowboy John Grady Cole’s maternal grandfather dies. John had grown up on his grandfather’s ranch, but it was put up for sale when the old man died. His mother has no ties to it anymore, and would rather have the money. With no home, John asks his best friend Lacey Rawlins to leave his family ranch in San Angelo, Texas and join him to travel on horseback to cross the border 150 miles south, to seek work in Mexico. They encounter a peculiar 13-year-old boy named Jimmy Blevins on the trail to Mexico, whom they befriend but from whom they then separate. Later on they meet a young aristocrat’s daughter, Alejandra Villarreal, with whom Cole falls in love.
Cole and Rawlins become hired hands for Alejandra’s father, who likes their work, but Cole’s romantic interest in Alejandra is not welcomed by her wealthy aunt. After Alejandra’s father takes her away, Cole and Rawlins are arrested by Mexican police and taken to jail, where they again encounter Blevins, who has been accused of stealing a horse and of murder, and is killed by a corrupt police captain. Cole and Rawlins are sent to a Mexican prison for abetting Blevins’ crimes, where they must defend themselves against dangerous inmates. The pair are both nearly killed.
Alejandra’s aunt frees Cole and Rawlins, on the condition that she never sees them again. While Rawlins returns to his parents’ ranch in Texas, Cole attempts to reunite with Alejandra over her family’s objections. Her aunt is confident that Alejandra will keep her word and not get back together with Cole–so much so that she even gives Cole her niece’s phone number. Cole urges Alejandra to come to Texas with him. She, however, decides she must keep her word and though she loves him, she will not go with him.
Cole then sets out to get revenge on the captain who took the Blevins boy’s life, as well as to get back his, Lacey’s and Blevins’ horses. After making the captain his prisoner, he turns him over to Mexican men, including one with whom Cole had previously shared a cell when they were imprisoned by the captain. Cole is spared the decision to kill the captain, but it is implied the men whom the captain was turned over to will do that.
Reentering the USA and riding through a small town in Texas, towing two horses behind the one he is riding, he stops to inquire what day it is (it is Thanksgiving Day). He asks a couple of men if they would be interested in buying a rifle, as he needs the money. One is a sheriff’s deputy and arrests him because all three horses have different brands, and they suspect Cole is a horse thief.
In court, Cole tells the judge his story from the beginning. The judge believes him and orders Cole freed and the horses returned to him. Later that evening, Cole shows up at the judge’s home, troubled. The judge had said good things about him in court, but Cole feels guilty that Blevins was killed–and while there was nothing he could have done to prevent the killing, he never even spoke up at the time and is upset with himself for that. The judge tells him he is being too hard on himself and it could not have been helped; he must go on and live his life. Cole rides to Rawlins’ family’s ranch, where he asks his friend if he wants his horse back.