On the northern side of the Mexico–United States border, Sergei “Polack” Kowalski, a well-groomed, greedy mercenary, attends a circus performance where he recognizes the show’s lead rodeo clown as Paco Roman. During the performance, Kowalski reminisces on how he and Paco fought together as revolutionaries against the Mexican Government.
Prior to the start of their partnership, Paco, a peon working in a silver mine owned by Elias Garcia, rebels against his boss and humiliates him and his two brothers, including Colonel Alfonso Garcia. He is soon captured, but saved from execution by his friends. Meanwhile, Kowalski makes a deal with Elias and his brother to take their silver safely across the border. Curly, Kowalski’s flamboyant American rival, sees the three men talking and tracks down the brothers to find out what they hired Kowalski for, after which Curly kills the two.
When Kowalski arrives at the mine to meet the Garcias, he meets Paco and his revolutionaries instead. Colonel Garcia’s troops arrive to attack them, and Kowalski agrees to help Paco fight them for money. With the help of Kowalski and his Hotchkiss M1914 machine gun, the revolutionaries drive Colonel Garcia’s forces away. Kowalski then leaves, but he is soon ambushed by Curly. Paco’s group arrives and kills Curly’s men. Although Curly swears revenge, they let him go after stripping him of his clothes. Paco then hires Kowalski to teach him how to lead a revolution.
The revolutionaries travel from town to town robbing money, guns and horses from the army. They also release a prisoner named Columba, who joins the group. Columba at first resents Paco’s violent methods and his over-reliance on Kowalski, but both soon begin to respect each other. After Paco stays in one town to protect the people, despite Kowalski telling him that they can not match the army sent to capture them, Kowalski leaves the group again. Paco’s group admits defeat and returns to Kowalski. Kowalski doubles his fee, but he and Paco make another deal. After the revolutionaries take over a town by defeating a whole regiment, Paco, realizing the unfairness of the financial burden Kowalski has placed on him and Columba, imprisons Kowalski, confiscates his money, and marries Columba. When Colonel Garcia’s army, along with Curly, attack them, Paco realizes he can not manage the situation on his own and decides to set Kowalski free, but finds himself locked up while Kowalski escapes. Columba frees Paco, and the two escape before Curly can find them.
In the present, Kowalski notes that it has been six months since Paco betrayed him. After the performance ends, Curly and his men capture Paco. Kowalski shoots Curly’s men and gives him and Paco both a rifle and a bullet, so that the two can have a fair duel. After Paco kills Curly, Kowalski takes him prisoner and heads to the headquarters of the 51st Regiment to collect the reward offered for his head. Columba, witnessing Kowalski’s capture of her husband, rides to the 51st’s headquarters with two members of Paco’s troupe and meets with Colonel Garcia, pretending to betray Paco by telling him where the two are.
When the army troops find the pair, Kowalski also finds himself arrested as there is now an even bigger reward for his head. The two are then sentenced to death by firing squad. However, Columba executes her plan, and holds Garcia at gunpoint while the circus performers create a diversion. Using two machine guns, Paco and Kowalski kill most of Garcia’s troops, and they escape with Columba and the performers. The group splits up; Columba and the performers leave to spread the word of Paco’s return to Mexico, Paco prepares to lie low before reuniting with Columba, and Kowalski, who has been given a share of his own reward money, prepares to leave Mexico. Kowalski suggests to Paco that they should team up as a mercenary pair, but Paco assures him that his “dream” is in Mexico. As the two friends part ways, Colonel Garcia and four soldiers prepare to ambush and kill Paco. Kowalski cuts them all down with his rifle from a nearby hillside. Before leaving, he yells, “Good luck, Paco! Keep dreaming, but with your eyes open!”