A cavalry officer learns his son is a new recruit, and his wife shows up to take him home; but the boy wants to be a soldier, and they fight Apaches.
Lt. Col. Kirby Yorke (John Wayne) and his cavalry return to camp after chasing Apaches to the Rio Grande, but General Philip Sheridan (J. Carrol Naish) won’t let him cross the border. His son Jefferson Yorke (Claude Jarman Jr.) arrives with the new recruits after failing at West Point. Kirby has not seen him for fifteen years and tells him he will not favor him.
Jefferson gets into a fight over what Heinze (Fred Kennedy) said, and Sgt. Major Timothy Quincannon (Victor McLaglen) has them box. They refuse to tell Kirby what it is about. Kathleen Yorke (Maureen O’Hara) arrives with a pass to see her son. Kirby welcomes her to his tent. She wants to take Jefferson home, but Kirby says he must approve. They dine, and regimental singers serenade them. Kirby says good night and lets her have his tent. Quincannon takes her to see Jefferson. She says Kirby is a lonely man. Jefferson says that he won’t quit the army. Indians attack, and Kathleen faints. Kirby tells Jefferson to take her back to her quarters.
Kirby learns that the Indians killed and captured were from three tribes, and he orders the men to move out. They ride by twos and sing. Kathleen washes clothes, and Dr. Wilkins (Chill Wills) and Quincannon bring theirs. A US marshal (Grant Withers) arrests Travis Tyree (Ben Johnson) for manslaughter. Kathleen calls Quincannon an arsonist, and he asks Dr. Wilkins what it is. Quincannon says that Philip Sheridan ordered them to burn crops in the Shenandoah Valley.
Kirby meets a Mexican lieutenant at the Rio Grande and offers to join him in pursuit of Indians but is refused. Kirby returns and kisses Kathleen, but he refuses to let Jefferson go. They dine with General Sheridan and toast the President. Men sing. Tyree tells Dr. Wilkins that he killed a Yankee in Texas in self-defense. Quincannon lets Tyree escape. Kirby signs the paper for the marshal but stops him from shooting fleeing Tyree. Sheridan gives Kirby an order to cross the Rio Grande.
Kirby is dressed up and gives Kathleen flowers. He says she is leaving with the women and children, and Jefferson is in the escort. Kirby gives her $10 in Confederate money. They kiss goodbye, and she gets in a wagon.
Tyree sees them in the desert, and Sandy Boone (Harry Carey Jr.) and Jefferson give him water and beans. Indians ambush them and chase them. Heinze is killed. They turn over the wagons and shoot at the Indians. Jefferson is sent back to the post, and Tyree shoots the three Indians chasing him.
Kirby and his men find them. The children were stolen, and Kirby orders Tyree arrested. Tyree says the children are in a church, and Kirby lets him take Boone and Jefferson on a dangerous mission. They sneak into the church and find the children. They shoot approaching Indians. Kirby leads a charge into the church. They load the children, and Kirby takes an arrow in the chest. He has Jefferson pull it out. They return, and Kathleen sees Kirby on a litter.
At a ceremony Bell, Boone, Jefferson, Tyree, and a Navajo scout are honored. Kirby gives Tyree a furlough, and he escapes again.
John Ford directed this western based on an incident when the US cavalry crossed into Mexico in 1874. The drama celebrates the stalwart duty that can mean killing Indians to protect the conquests of the European Americans.