Jake Holman er en bitter og hardbarket skipsmaskinist som mønstrer på kanonbåten San Pablo i Shanghai under den kinesiske revolusjon på 1920-tallet. Etter bokseropprøret har USA plassert flere kanonbåter som ferdes langs Yangtze. Skipene er der som politisk og styrkemessig markering, men også for å beskytte amerikanske medborgere i landet og sine interesser. Båtene blir i stor grad drevet av kinesere som behandles som slaver om bord. Etterhvert som urolighetene utarter blir det klart at amerikanerne som er i landet må evakueres. Kanonbåten San Pablo får oppdraget med å redde ut en gruppe amerikanske misjonærer.