The Blues had to come from behind to beat the dogged Canadians, who led through Camilo Sanvezzo's 30th-minute deflected effort. John Guidetti equalised on 68 minutes before Wright-Phillips settled the game five minutes from time.
The only concern for Roberto Mancini will be Yaya Toure's first-half injury that is still being assessed.
This game had been in serious doubt and was only passed fit to play three hours before kick-off, but no rain fell overnight and ten hours of warm sunshine meant the pitch was deemed playable.
It would have been a huge disappointment, too, if the 24,074 sell-out crowd at Empire Field hadn’t been given the chance to watch a game that has garnered so much interest in Vancouver.
Roberto Mancini again elected to play a different team in each half with the City players still some way short of the match fitness they’ll need to begin the new season.
Interestingly, Vladimir Weiss and Ryan McGivern both started again, Vincent Kompany was handed the captain’s armband while Micah Richards and David Silva were all absent with minor knocks.
City and Vancouver both created decent openings in the opening exchanges, but the Blues were a tad unlucky to fall behind on the half-hour when Sanvezzo’s low shot struck Stefan Savic and rolled past a wrong-footed Joe Hart to send the home fans wild.
Edin Dzeko should have levelled five minutes later but he put a simple-looking chance wide with the goal at his mercy.
There was a further blow for Mancini’s side just ten minutes later when Toure had to be helped off the pitch after sustaining a painful-looking ankle injury just before the interval.
Whitecaps should have doubled their lead moments after the re-start when Long Tan just put the ball past the post from close range as City’s uncomfortable afternoon continued.
However, as the half wore on, the Blues gradually improved until Guidetti powered home Mancini’s corner on 68 minutes to level the scores.
From then on City always looked the likelier to go on and win and Wright-Phillips’ stunner five minutes from time was worthy of winning any game anywhere in the world.