Shanghái está situada en la desembocadura del Delta del río Yangtzé en la costa este de la República Popular de China. Se encuentra ubicada en el eje entre Pekín y Hong Kong y tiene casi la misma distancia entre la capital y la región autónoma. El municipio se divide en la península entre el Yangtzé y la Bahía de Hangzhou, Chongming (la tercera isla más grande en China) y un número de islas más pequeñas. Limita al norte con la provincia de Jiangsu, en el sur de la provincia de Zhejiang y al este por el mar de China Oriental. La ciudad está dividida por el río Huangpu, un afluente del Yangtsé. El centro histórico de la ciudad, llamada de Puxi, está situado en el lado occidental del Huangpu, mientras que el nuevo centro financiero, llamado Pudong, se está desarrollando en la orilla oriental.
La gran mayoría de 6218 km2 de la superficie terrestre de Shanghái es plana, aparte de unas colinas en el sudoeste, con una altura promedio de cuatro metros. La posición de la ciudad en la llanura aluvial prácticamente obligó que los nuevos rascacielos fuesen construidos como bases concretas para asentarse sin ningún problema en el terreno plano. El punto más alto es de 103 metros que se encuentra en la isla de Dajinshan. La ciudad tiene muchos ríos, canales, arroyos y lagos y es conocida por su riqueza en recursos hídricos y está englobada en la cuenca del lago Taihu.
Las inversiones públicas en el entorno de la ciudad han tenido un crecimiento importante, incluye la concienciación de sus habitantes. Entre esta serie de inversiones recientes se encuentra limpiar el río Suzhou, que atraviesa el centro de la ciudad y está valorado en mil millones de dólares y tiene previsión de durar diez años. La contaminación de la ciudad es baja en comparación con otras ciudades chinas, como Pekín, pero el rápido desarrollo en las últimas décadas significa que todavía es alta en patrones mundiales y es comparada regularmente a los niveles de Los Angeles.
El clima de Shanghai es húmedo subtropical (Cfa en la clasificación climática de Köppen-Geiger), con las cuatro estaciones bien definidas. En invierno, los vientos fríos del norte de Siberia causan que las temperaturas nocturnas sean negativas, aunque la mayoría de los años apenas hay uno o dos días de nieve. El verano es muy caliente y húmedo, con lluvias ocasionales y relámpagos débiles. La ciudad también está en la ruta de tifones, pero ninguno en los últimos años ha provocado daños considerables. Las estaciones más agradables son primavera, que no tiene patrones de tiempo fijo, y el otoño, que es generalmente formado por días soleados y secos. Shanghái tiene, en promedio, 1878 horas de sol al año, con la temperatura más alta ya registrada en 40 °C y la menor en -12 °C. El número medio de días lluviosos es de 129 por año, mientras que el mes más lluvioso es junio.