Colonel Cord McNally (John Wayne) is a union general in charge of protecting gold shipments. Confederate soldiers stop the train and steal the gold. McNally's best friend dies. McNally captures Captain Cordona and Sgt. Phillips, the confederate leaders, but the gold is lost. McNally knows that someone on the union side tipped off the confederates, but they will not say who it was.
After the war, McNally looks them up in a prisoner camp, again wanting to know who the informant was. McNally gives Phillips money to get home to Texas. They never knew the names of the informants, but promise to let McNally know if they see them again.
McNally is called to Blackthorne, Texas by Cordona. Phillips has located one of the informants, a man named Whitey, in Rio Lobo. Whitey is a hired gun for a rich landowner who is trying to run Phillips off his land. Whitey shows up in Blackthorne to bring Shasta Delaney back to Rio Lobo. A gunfight breaks out in which McNally and Cordona defend Shasta and Whitey dies. McNally, Cordona and Shasta head back to Rio Lobo. The rich landowner, Ketcham, has Phillips arrested. The sheriff and deputies are all in Ketcham's service. Amelita, a friend of Phillips, is badly beaten and cut up by the bad sheriff. To free Phillips, they hatch the plan of taking Ketcham hostage. When they go to his ranch and capture Ketcham, Cordona identifies Ketcham as the other Union traitor. However, Cordona is captured by Ketcham's men, and they want to trade Cordona for Ketcham. In the trade, it is revealed that Ketcham has signed away the deeds to all the land he stole (he was forced to while a prisoner of McNally). Ketcham's own men shoot him when they learn this. Cordona is safely rescued, and the bad sheriff who worked for Ketcham is killed by Amelita.
In the end, Cordona and Shasta fall in love, and McNally ends up with Amelita.