In 1926, Machinist's Mate First Class Jake Holman transfers to the Yangtze River Patrol gunboat USS San Pablo. The ship is nicknamed the "Sand Pebble" and its sailors "Sand Pebbles".
The officers have hired coolies to do most of the work, leaving the sailors free for military drills. Because he takes an interest in mechanical work, Holman involves himself directly in the operation and maintenance of the ship's engine. As a result, the chief engine room coolie, Chien, is insulted. Holman also earns the antipathy of most of his fellow sailors. He does become close friends with one seasoned, sensitive seaman, Frenchy.
Holman eventually discovers a serious problem with a crank bearing that the superstitious coolies, believing the engine is haunted, have not fixed. Holman informs the captain, Lieutenant Collins, who declines to repair it. Only after the executive officer declares an emergency does the angry Collins acquiesce. Chien insists on taking Holman's place to make the repair and is accidentally killed. The chief coolie, Lop-eye Shing, blames Holman, believing that the "ghost in the machine" killed Chien. As a replacement for Chien, Holman selects Po-Han, and trains him. In time, the two become friends.
Po-Han is harassed by a large, heavy-drinking, bullying sailor named Stawski, leading to a boxing match on which the crewmen place bets. Holman is in the corner of his friend Po-Han, who ends up winning. His victory leads to more friction between Holman and the rest of the crew.
An (off screen) incident involving British gunboats leads to Collins ordering the crew not to fire on, or return fire from, the Chinese, to avoid a diplomatic incident or providing fuel for xenophobic propaganda, especially by the Communists. The boat is quickly prepared and disembarks. As revenge for the death of Chien and what he viewed as Holman's usurpation of his power, Lop-eye Shing had sent Po-Han ashore, where he is chased down the beach, captured, and tortured by a mob of Chinese in full view of the crew. Collins attempts to buy Po-Han's release, but without success. Po-Han begs for someone to kill him. Holman disobeys orders and ends Po-Han's torture with a rifle shot.
The San Pablo is moored on the Xiang River at Changsha, due to low water levels, during the winter of 1926â27. It must deal with increasingly hostile crowds surrounding it in numerous smaller boats. Lt. Collins also fears a possible mutiny.
Frenchy has saved an educated Chinese woman, Maily, from prostitution by paying her debts. He marries her and regularly swims to shore to visit her, but he dies of pneumonia one night. Holman finds Maily sitting by Frenchy's corpse. Kuomintang (Chinese Nationalist Party) militia burst in, beat Holman, and drag Maily away. The next day, several Chinese demand Holman be turned over to them as the "murderer" of Maily and her unborn baby. When the demand is rejected, the Chinese blockade the gunboat. The crew fear for their safety and demand that Holman surrender to the Chinese. Order is not restored until Collins fires a Lewis gun across the bow of one of the Chinese sampans.
With spring's arrival, Collins orders preparations to restart their river patrols, but soon receives word of the Nanking Incident, with orders to return to the Yangtze River and the coast. On his own, he chooses to disobey orders and decides to first travel upstream of Dongting Lake to evacuate idealistic, anti-imperialist missionary Jameson and his school-teacher assistant, Shirley Eckert, from their remote China Light Mission. Holman had met Eckert in Hangkow months earlier, and the two had romantic feelings for each other that did not have time to develop.
To reach the missionaries, the San Pablo must fight past a boom made up of junks carrying a massive bamboo rope blocking the river. A boarding party is sent to cut the rope. Fighting breaks out in which about a dozen sailors and many Chinese are killed. Holman cuts the rope while under fire. He kills a Chinese attacker, a friend of Jameson and Eckert. The ship then proceeds upriver.
Collins leads three sailors, including Holman, ashore. Jameson resists being rescued, claiming that Eckert and he have renounced their U.S. citizenship. Collins orders Holman to forcibly remove Eckert and Jameson, but as Holman declares he is going to stay with them, Nationalist soldiers suddenly attack the mission. They kill Jameson, despite his attempt to assure them he has no sympathy with the San Pablo rescue mission. Collins orders the patrol to return to the ship with Eckert, and remains behind to provide covering fire. Collins is killed, ironically leaving the normally rebellious Holman in command. Holman and Eckert have a tearful parting, finally making clear their love for each other. Eckert only leaves after Holman assures her he will be along shortly. Holman kills several soldiers before he himself is fatally shot just when he is about to rejoin the others. His last bewildered words are: "I was home...what happened...what the hell happened?" Eckert and the remaining sailors reach the ship, and the San Pablo sails away.
Who has a lop-eye
Shing