上海は全国的な鉄道ハブであり、複数の主要駅が高速列車(G/D)、都市間列車、在来線(Z/K/T)に対応しています。上海虹橋駅は大部分の高速列車を扱っており、北京南駅行きの北京—上海高速列車や、南京、杭州、蘇州への都市間列車が発着します。虹橋国際空港に隣接し、地下鉄2号線・10号線・17号線と接続しています。市中心部の北に位置する上海駅は、多くの在来の長距離列車や地域列車、そして一部の高速列車を扱います。上海南駅は中国南部・南西部方面への路線や、浙江省・江蘇省への地域列車を運行しています。龍陽路駅は浦東空港までの上海磁浮(マグレブ)線の東端で(営業最高速度は約431km/h、所要時間は約8分)、地下鉄や都市間列車との乗り換え駅でもあります。上海からの一般的な直行先には北京、広州、深セン、杭州、南京、蘇州があります。