The half ended with Kyle Walker curling a speculative effort wide from distance.

Fernandes celebrates his controversial equaliser.

City began to show more urgency after the break and the game opened up.

It still took a change from City to make the difference after Grealish replaced the ineffective Phil Foden after 57 minutes.

Moments later Grealish found himself in the right place as Kevin De Bruyne reached the byline and pulled back a cross for the England midfielder to head home from close range.

The real drama was still to come and United levelled on 78 minutes in controversial circumstances.

Rashford was clearly offside as he raced onto a long ball from Casemiro but he opted not to take a touch and Fernandes swept home.

City surrounded the officials in response but, after a delay for a VAR check, the goal was given.

United sensed their opportunity and Rashford did the damage after Garnacho delivered a low ball across goal at the second attempt.