Barske Alan Gaskell (Clark Gable) er kaptein på et dampskip som reiser mellom Hongkong og Singapore. Med på siste reisen er både hans elskerinne Dolly «China Doll» Portland (Jean Harlow) og den engelske aristokraten Sybil Barclay (Rosalind Russell), som han en gang elsket. Dolly blir sjalu på Sybil og tilbringer tid sammen med Jamesy McArdle (Wallace Beery), en annen passasjer. Han har i all hemmelighet inngått et partnerskap med en gjeng pirater om å stjele gullet som fraktes på skipet. Alan er svært kjølig overfor Dolly og avtaler med Sybil at de skal gifte seg når skipet kommer til Singapore. Dolly finner ut om Jamesys planer og prøver å advare Alan, men blir bryskt avvist før hun får sagt det hun ville si. Hun bestemmer seg da for å hjelpe Jamesy og stjeler nøkkelen til skipets våpenlager som hun gir til ham.