Hulk gave hosts Shanghai the lead in the 27th minute from the penalty spot after Wu Lei – who then scored their second just before the break – had been fouled in the area.
Oscar then took over in the second half, netting either side of Besart Berisha's penalty for the visitors to take Shanghai on to maximum points from two games in Group F
That leaves Shanghai two points clear of Ulsan, who beat Kawasaki Frontale 2-1.
AFC Champions League (@TheAFCCL) February 20, 2018
But the most impressive win on Tuesday came in Hong Kong, as Kitchee were comprehensively beaten 6-0 by Jeonbuk – striker Adriano scoring a hat-trick, while Kashiwa Reysol and Tianjin Quanjian drew 1-1 in Tuesday's other Group E clash.
Persepolis' unbeaten run was ended at 22 games across all competitions, with the Iranian side beaten 3-1 away to Al Sadd, who themselves secured a seventh successive triumph.
Baghdad Bounedjah stole the show, scoring a brace to continue his remarkable recent run of form, taking his tally to 10 in his last eight appearances.
That result leaves Al Sadd three points clear at the top of Group C, with Persepolis and Nasaf – who beat pointless Al Wasl 1-0 – already with ground to make up.
In Group D, Al Ain and Al Rayyan drew 1-1 to leave them on two points apiece, while Esteghlal took charge by beating Al Hilal – who had goalkeeper Ali Al Habsi sent off – 1-0..