There are seven airlines offering flights to Shanghai. The most direct route isn’t necessarily the cheapest – being flexible is key to finding the lowest airfare rates. For example, try searching by month to see the best time of the week to fly. The cheapest date is currently 26 / Nov / 2019.
You can use the filters on your search to see more flights and find cheaper rates – Shanghai has more than one airport. So if you don't need to fly into Shanghai Pu Dong Airport, it's worth checking your other options. The 9035 km flight usually takes about 20 hrs.
August tends to be the most expensive time of the year to fly to Shanghai. During this peak season, accommodation prices often increase too, so it's best to book early. Or you could keep your fingers crossed and hold out for a last-minute deal.