Dominic Calvert-Lewin scored in the final few seconds as Everton draw 3-3 with Manchester United at Old Trafford in a highly-entertaining clash.

The hosts dominated the first half thanks to the attacking input of full-backs Luke Shaw and Aaron Wan-Bissaka who helped the United frontline overload the Everton defence.

And they were rewarded for their dominance as Marcus Rashford cross for Edinson Cavani to head from four yards after brilliantly peeling off the back of Mason Holgate.

United went in search of a second and doubled their lead on the stroke of half-time thanks to a wonderful individual effort from Bruno Fernandes. The Portuguese midfielder looked little danger on the edge of the box, but with a yard of space he pinged a dipping effort into the far corner to double his side’s lead.

The game looked all but over given United’s dominance, but Everton emerged a different side and pulled a goal back just four minutes into the second half.

Calvert-Lewin’s weak cross was fumbled out by David de Gea, and Abdoulaye Doucoure was on hand to poke into an empty net.

Three minutes later and United were shellshocked as the visitors equalised through James Rodriguez. The Colombian rifled in from just inside the box after Doucoure found him in space.

With the game turned on its head, Rashford almost stole back United lead but Robin Olsen – deputising for Jordan Pickford – did well to block his effort.

But Olsen was at fault moments later when he let McTominay’s weak header trickle into the corner of the net as the midfielder leap highest to meet Luke Shaw’s searching free-kick.

There was another twist in the tale as Everton levelled once again five minutes into stoppage time. With every man in the box including Olsen, Lucas Digne’s free-kick falling into the lap of Calvert-Lewin who was braver than De Gea and nudged the ball into the net and denied the hosts three points.