Katie Zelem fired the hosts in front from the penalty spot after Alex Greenwood was punished for handball, but a key decision went against United when Geyse's goal was disallowed because the ball was adjudged to have gone out of play.
City then turned the game on its head in the space of 80 seconds as Jill Roord fired home the equaliser before Lauren Hemp curled a superb effort into the top left corner after a mistake at the back.
City looked set to cruise to victory until Laia Aleixandri was shown a second yellow card prompting United to throw on several attackers in a bid to force a comeback although goalkeeper Khiara Keating only had to save a long-range drive from Lucia Garcia.
How City stunned United
Man City chalked up six shots in the opening 11 minutes and then saw Shaw denied superbly by a sprawling save from Earps, but it was Man Utd who took the lead. Melvin Malard's shot hit Greenwood's outstretched right arm in the area and Zelem's penalty found the bottom left corner via a hand of Keating.
The game then turned on its head in a crazy four-minute spell. Man Utd were denied a second in the 31st minute when the ball was adjudged to have gone out for a goal kick before Geyse poked in.
City made it count after Chloe Kelly squared for Roord to fire home from inside the area in the 34th minute. Within 18 seconds of the restart, United played themselves into trouble and Shaw teed up Hemp to bend a wonderful effort into the top left corner.