Šanghajský hotel je příběh mladé ženy jménem Yin Yin (Eugenia Yuan), která si ilegálně kupuje cestu z komunistické Číny do USA v naději na lepší život pro sebe a svou rodinu. Po dlouhé a nebezpečné cestě v temném podpalubí přeplněné nákladní lodi Yin Yin dorazí do New Yorku s pocitem, že to bude začátek lepšího života. Falešně jí slíbili práci v technologickém průmyslu, ale její sny se rozplynou, když jí takzvané Hadí hlavy, asijský gang, sdělí, že její dluh je mnohem vyšší, než se očekávalo. Aby tento dluh splatila, bude si ho muset odpracovat jako prostitutka. Yin Yin je zdrcena zprávou, že je prodána do obchodu se sexuálními otroky. Zchátralá budova, ve které Yin Yin a další prostitutky žijí a pracují, je známá jako Šanghajský hotel. V Šanghajském hotelu žijí ženy z Thajska, Koreje a Číny.