Cristiano Ronaldo once again scored a late winner as Manchester United overturned a two-goal deficit against Atalanta to win 3-2 and move top of Champions League Group F at the halfway point.

Mario Pasalic broke the deadlock after just 15 minutes at Old Trafford, with Merih Demiral heading home to double the blow before the half-hour mark on Wednesday.

Marcus Rashford pulled one back after the break as he scored the 300th goal of Ole Gunnar Solskjaer's tenure before Harry Maguire levelled with 15 minutes of normal time remaining.

Ronaldo, who scored a stoppage-time winner against Villarreal, then climbed the highest to cap a memorable comeback and move the Red Devils to the summit.

United conceded for a 12th consecutive home game across all competitions – their longest such run since February 1964 (13) – thanks to smart work from Davide Zappacosta.

The wing-back overlapped and drilled low from the right for Pasalic, who prodded into the bottom-left corner from point-blank range, and matters worsened for United 14 minutes later.

Demiral towered above Maguire to flick past David de Gea following Teun Koopmeiners' corner, before Rashford's volley clipped the crossbar on the stroke of half-time.

However, there was no stopping Rashford after the interval as he raced onto Bruno Fernandes pass before sliding into the bottom-right corner.

Scott McTominay's close-range deflection then cannoned into the right-hand post before De Gea denied both Duvan Zapata and Ruslan Malinovskiy's long-range effort on the follow-up.

The Spain international's double stop proved vital when Maguire swept into the bottom-right corner after the visitors failed to clear Jadon Sancho's delivery from the right.

Fernandes forced another save from Musso, however, the Atalanta goalkeeper remained motionless a minute later as Ronaldo nodded into the bottom-left corner following Luke Shaw's cross to seal a vital three points for Solskjaer.