Cape Town - Manchester City were made to work hard by Newcastle United as they emerged from their Premier League clash as narrow 2-1 winners on Saturday.
Kyle Walker's superb goal sealed the win for City although they may well have scored more after Raheem Sterling's opener was cancelled out by DeAndre Yedlin.
The first chance of this tie came on four minutes as Salomon Rondon conceded possession to Fernandinho and he found Riyad Mahrez well, but the new City man dragged his shot just wide of the right upright after cutting inside.
Raheem Sterling was soon on the scoresheet though having got his angles correct as the England man drifted inside from the left before curling the ball into the far corner of the net.
Sergio Aguero was next with a chance as he flashed his shot wide of the Newcastle goal moments later as City continued to threaten and force the away side to sit deep.
Gabriel Jesus was denied with a good low save from Newcastle goalkeeper Martin Dubravka's but he should have done better with a free header from a David Silva free-kick on 27 minutes, only to head straight at the keeper.
And the misses would prove to be costly as the away side levelled with their first real attack of the game through Yedlin, with half an hour on the clock. Yedlin made a storming run to get on the end of a Rondon ball from the left to rifle home past Ederson.
Jesus and Aguero both had shots blocked as City looked to restore their lead but the two sides went into the half-time break level pegging.
Mahrez blazed an effort over the bar as City started the second period on the front foot and were soon in the lead again when Kyle Walker unleashed a super low strike that Dubravka was barely able to react to as it smashed the back of the net.
Jesus was offside as he fired in on 57 minute while Dubravka kept his side in the game with a hat-trick of excellent saves, one from Fernandinho and two fro Silva.
The Spaniard then got the direction of his header incorrec to spurn the chance for a third goal as Sterling shot wide under pressure from Christian Atsu.
Joselu drew a good save from Ederson in a nervy few moments for City where Sergio Aguero failed to seal the result after trying to round Dubravka who got a hand to the ball to deny the striker.
City though did enough for the three points to remain two points adrift of unbeaten league leaders Liverpool.