It was three of the more established players, Ché Adams, Shane Long and Yan Valery, who did the damage in a first half in which Saints might easily have doubled their tally.



Adams saw a penalty saved and Callum Slattery’s smart volley was ruled out before Ralph Hasenhüttl made five half-time changes and opted to rest his big guns for the second period.



Substitute Tyreke Johnson was denied by the frame of the goal as Saints chased a fourth, which eventually arrived in added time when Christoph Klarer headed in from a corner.



With the bulk of his first-team squad away in Dublin, Hasenhüttl had a young and enthusiastic group to choose from, strengthened by an experienced spine of Fraser Forster, Maya Yoshida and Long.



It had taken Adams just 116 seconds to open his Saints account on his debut against SCR Altach nine days ago, but the new arrival was about to beat his own time.



On this occasion it took less than a minute for the striker to make his mark, turning on the edge of the box and shooting goalwards with plenty of power but straight at goalkeeper Liang Hua, who inexplicably allowed the ball to squirm between his palms.



It would soon become apparent that even this young Saints side were vastly superior to their Chinese Super League opponents, creating a flurry of early openings.



Yoshida and Josh Sims both headed over, before Valery’s low cross was just beyond the reach of Long.



Ché Adams strikes Saints' opener inside 56 seconds in Macau

Adams was looking sharp, as he sent Sims through on goal only for the winger to be denied by Liang, before Adams tried his luck with an audacious 40-yard chip over the stranded keeper, who was relieved to see the ball sail narrowly wide.



The unfortunate Liang was suffering again when his scuffed clearance was diverted by Adams into the path of Long, who finished superbly, sending a fine curling shot into the top corner to open his pre-season account in style.



Guangzhou were yet to pose a threat, but a 25-yard free-kick from Chen Jun Le did call Forster into action midway through the half, before the same player sent a lovely effort just over the Saints’ crossbar.



At the other end, Liang was about to redeem himself, diving to his right to repel Adams’s penalty after Long had been upended in the box.



The spot-kick was fiercely struck, but the keeper got just enough on it to divert the ball wide of the opposite post.



Still Saints kept pouring forward. Valery, who came close to turning in the rebound from the penalty save, latched on to a first-time pass from Slattery and accelerated into the box before showing enough composure to beat Liang with a neat finish.



Slattery thought he had written his own name on the scoresheet in the final minute of the half with a perfectly-executed volley, but Jake Vokins was deemed to be blocking the view of the keeper while stood in an offside position as the ball flashed by.

Shane Long's excellent curling shot was his first goal of pre-season

Hasenhüttl made a quintet of half-time changes, resting Yoshida, Long and Adams, as Saints’ average age dropped further.



Two of the replacements, Aaron O’Driscoll and Tyreke Johnson, came close to adding a fourth, only to find Liang in the right place to keep the score respectable.



Scheduled drinks breaks during each half tells the story of the stifling humidity, with players visibly wringing their shirts dry in the heat.



By the final 15 minutes, Hasenhüttl had given game time to all 20 of his touring players, while Johnson was cursing his luck when his rocket of a shot flew past substitute stopper Long Wenhao and cannoned against the far upright.



Wenhao had to be alert to make decent late saves from Klarer and Kornelius Hansen, but the Austrian defender would not be denied, heading home Johnson's stoppage time corner to complete the scoring.