Transportation between Beijing and Shanghai

Air
Flight distance between Beijing and Shanghai is near 1,200km (745mi), and flight time is about 2 hours. Departures are between 7:00 and 22:00 on every 15-25 minutes. From 22:00 to 7:00 there is only few flights. Return flight usually cost from 1,000 to 1,200CNY (economy class), although there are often discounted tickets.
You can book flights on: www.ctrip.com

Train
Train is great way to travel between Beijing and Shanghai. If you add check-in, and transportation to/from airport time to flight time, you will see that traveling with train is almost as fast as traveling with airplane. Train line from Beijing to Shanghai is about 1,3200km (820mi) long. There are three options regarding train speed and travel time you can choose.

Bullet trains (labeled with G; speed up to 300km/h; about 5.5 hours travel time) operates between Beijing South Station (北京南) and Shanghai Hongqiao Station (上海虹桥站) from 7:00 to 17:40 on every 10 to 30 minutes. You can take business (1,750CNY), 1st (935CNY) or 2nd (555CNY) class seats. All seats are recommended.

High speed trains (labeled with D; speed up to 250km/h; about 12 hours travel time) operates between Beijing South Station (北京南; departure at 19:34, 21:16, and 21:23) and Shanghai Railway Station (上海火车站; departure at 19:24, 19:53, and 21:11). These are overnight trains, and you can take 2-berth sleeper (1,470CNY), 4-berth sleeper (730CNY) or 2nd class seat (327CNY). Try to avoid 2nd class seat, because it is a long journey. D-class is more recommended than T-class, and if you have time and want to save money for hotel bill, D-trains is a great option.

Express trains (labeled with T; about 15 hours travel time) operates between Beijing Railway Station (北京火车站; departure at 19:33) and Shanghai Railway Station (上海火车站; departure at 17:56). This is overnight train, and you can take soft sleeper (499CNY) or hard sleeper (327CNY). All classes in T trains are recommended.
You can check timetables and buy train tickets online on:
www.chinahighlights.com
www.china-diy-travel.com

Bus
If you want travel between Beijing and Shanghai by bus there is this inconvenient option too. However, this is not recommended way to travel, due to distance of 1,260 km (783mi) and 19 hours travel time. One-way ticket is about 300-400CNY and compared to train it is not even cheaper if you choose to take hard sleeper on the T train.