But the hosts had Park Ho-jin to thank for hanging on to three points after the goalkeeper saved Hernan Barcos' 77th-minute penalty.

Suwon also had Chinese defender Li Weifeng sent-off six minutes from the end when he collected a second yellow card for time wasting.

The result sees them move level with Kashima Antlers at the top of Group G in the Asian Champions League.

Shanghai went in front after 12 minutes when Vyacheslav Hleb managed to nod the ball over keeper Park and Yanko Valkanov latched onto it before slotting it home.

Suwon equalised five minutes before the break when Park Tae-min forged his way down the right before picking out Lee, who fired past the diving Qui Shengjiong and into the back of the net.

And Suwon took the lead in the 44th minute with a fine individual effort by Bae as he beat one man and cut inside another before clipping a delightful curling effort beyond Qui.

The Koreans hit the post twice in the second period and Seo Dong-hyeon somehow contrived to miss an open goal, and they were almost made to pay for their profligacy in the 77th minute.

Yang Sang-min brought down Hleb in the box, presenting Shanghai with a golden opportunity to grab a share of the points but Park dived to his right to superbly stop Barcos' penalty..