На півночі й на заході місто межує з провінцією Цзянсу, на півдні — з провінцією Чжецзян, на сході омивається Східнокитайським морем. Хуанпу, притока Янцзи, поділяє місто на дві частини. Історичний центр міста Пусі розташований на західному березі, а новий діловий центр (сіті) Пудун — на східному.