The Briton outpaced an impressive selection of sprinters on the wide roads of the south Chinese city, beating Pascal Ackermann (Bora-Hansgrohe) into second place, while stage 1 winner Fernando Gaviria (UAE Team Emirates), Matteo Trentin (Mitchelton-Scott) and John Degenkolb (Trek-Segafredo) were among the other big names left trailing in his wake.
"It's really good after a pretty below-par couple of years," said McLay after celebrating with his team past the finish line. "To win at a WorldTour race is pretty good, and yeah, it's not the biggest race of the year, obviously, but it's a real sprinter's race and you have to be pretty fast. It's a really high level of rider.
"I think I obviously haven't shown what I can do for two years, and today I showed a glimmer of what's in the legs. I hope I can carry it into next year."
McLay hit the front fairly early for a pan-flat finish, as the other major contenders launched with 250 metres to run. The sprint came after teammate Sep Vanmarcke launched an attack from the day-long breakaway with 7km to race. The Belgian stayed out front until the flamme rouge, letting the EF squad avoid any work in the peloton in the meantime.
With McLay choosing the right-hand side of the road and the other main contenders on the left, it wasn't an ordinary race to the line. McLay simply outpaced his rivals in the closing metres, taking the win despite Ackermann's protestations about the sprint just afterwards.
"[Vanmarcke] really made it difficult for the bunch to pull him back," said McLay. "It was great – we didn't have to do anything, just follow. Me and the guys stayed together at the end, but it was such a big road, so not a sprint you could make a plan for.
"In the end I found my way. I expected the whole bunch to be on the other side of the road and then it was actually pretty tight on the right, but I made it through and had the legs to hang on."
McLay, who will rejoin Arkèa-Samsic next year, has had his time at EF disrupted by physical problems, while the WorldTour-heavy calendar hasn't been optimal for him either. The 27-year-old previously spent three years at the French squad between 2015 and 2017 before making the step up to the WorldTour.
"I had some physical problems and it's a team that doesn't have a huge race calendar outside of the WorldTour races," he said. "Maybe it's something which I've only realised since I got here, but that doesn't suit me that well.
"But it's just the combination of factors, and there's no hard feelings. It's just the way cycling goes."