The movie opens with brutal sadistic railroad cop Shack (Ernest Borgnine) throwing a hobo off his train. The hobo lands on the tracks, and dies cut in two by the train. Shack clearly enjoys the fact that his job gives him the right to do things like this.
Later in a hobo camp, they are discussing the dangers of riding the rails. Shack is universally regarded as the most dangerous and deadly rail cop to deal with. Bets are placed that no one can successfully ride his train (being hobos the amounts are small).
A#1 (Lee Marvin) accepts the bets, and hitches a ride on Shack's train. However, young hobo Cigaret (Keith Carradine) tags along against A#1's wishes. A#1 knows a lot of tricks. Obnoxious young braggart Cigaret is nothing but a nuisance, hindering A #1 and often revealing hiding places.
In the end, Shack and A#1 meet on a flat railcar. A#1 surprises Shack by not running, but staying to fight it out. It is violent and bloody, but A#1 wins and throws Shack off his own train. Cigaret starts bragging that "we won", when he was nothing but a hindrance to A#1.
As the train crosses a bridge, A#1 grabs Cigaret and throws him off into the water.