Trwa II Wojna Światowa. Lata 40-te ówczesnych Chin podczas napadu Japończyków na jedno z miast – Szanghaj. Jim Graham (Bale), syn arystokratycznej rodziny, wychowywany w domu pełnym luksusów, nieoczekiwanie zostaje rozdzielony z rodzicami. Rozpieszczony, przyzwyczajony do dobrobytu chłopak, musi zrobić wszystko, by przetrwać bez środków do życia. Zdany zupełnie na siebie, trafia do obozu dla internowanych. Wówczas spotyka na swojej drodze Basiego (Malkovich), który uczy go samodzielności. Dwunastolatek stara się przyzwyczaić do nowych, panujących tam warunków. Chociaż wojna zniszczyła dotychczasowe życie Jima, sprawiła również, że zaczął dorastać naprawdę.