It's 1963 and cowboys Jack Twist (JAKE GYLLENHAAL) and Ennis Del Mar (HEATH LEDGER) accept jobs herding farmer Joe Aguirre's (RANDY QUAID) sheep over the Wyoming countryside. With one sleeping with the sheep and the other tending camp, it's a lonely and often cold occupation. After an evening of drinking on one particularly freezing night, they end up sharing a tent and have sex.
The next morning, neither talks of the encounter and goes about their business, but the two are soon hooked on each other, despite Ennis being engaged to Alma Beers (MICHELLE WILLIAMS). When the job is done, the two cowboys go their separate ways, with Ennis marrying Alma and Jack eventually doing the same with Lureen Newsome (ANNE HATHAWAY), a fellow rodeo performer, with both couples ending up having kids.
The years pass, but when Jack visits Ennis, the two take up right where they left off, much to Alma's shock, although she doesn't let on that she's seen them together. The two head off for a fishing trip and enjoy each other's company, with Jack wanting the two to move in together. Having seen -- as a child -- the fatal repercussions of being gay out in their neck of the woods, Ennis won't have any part of that. Yet, the two continue to see each other over the ensuing decades, during which they try to sort out their feelings about themselves and each other.