Olivier Giroud’s powerful header early in the second half gave AC Milan a 2-1 Champions League home win over Paris Saint-Germain in a pulsating Group F contest on Tuesday.
Former Inter Milan defender Milan Skriniar had put PSG ahead but their advantage lasted only three minutes before Rafael Leao netted an acrobatic equaliser and Giroud then sealed a precious victory just after the break in front of 75,649 supporters at the San Siro.
The game was played at a frenetic tempo in the first half with end-to-end action and, while the pace inevitably slowed in the second period, it was an absorbing clash in which Milan had to hold on at the end as PSG piled on the pressure.
Milan now have five points from four games in third behind second-placed PSG with six points. Leaders Borussia Dortmund have seven points after winning 2-0 earlier on Tuesday at home to Newcastle who are bottom on four points.
Shakhtar Donetsk 1-0 Barcelona
Danylo Sikan’s towering header gave Shakhtar Donetsk a stunning 1-0 victory against LaLiga champions Barcelona in their Group H fixture.
It was a disappointing display from the Spanish side who won their first three games in the competition and needed one point to book a place in the last 16 with two games remaining.
Barcelona manager Xavi Hernandez made several changes to his starting line-up and, despite dominating possession throughout the match, struggled against a well-organised Shakhtar defence, earning only one shot on target in the game.
The Ukrainian side, playing in Hamburg, were aggressive on the counter-attack, with Sikan giving them a shock lead against the five-time European champions in the 40th minute.
The 22-year-old forward jumped behind defender Andreas Christensen to meet a Giorgi Gocholeishvili cross from the right touchline and nodded the ball just out of reach of Marc-Andre ter Stegen in the Barca goal.
Barca were unable to threaten opposition goalkeeper Dmytro Riznyk until Xavi made four substitutions at once in the 60th minute, with Joao Felix and Lamine Yamal coming off the bench to give the visitors a much-needed spark.
However, Shakhtar held firm against some late pressure to seal the three points.
FC Porto 2-0 Antwerp
Porto stayed on course for a place in the last 16 with a 2-0 home victory over 10-player Antwerp thanks to Evanilson’s first-half penalty and veteran Pepe’s late header in Group H.
Brazilian Evanilson, who had netted a hat-trick when Porto beat the Belgians 4-1 away in their previous meeting last month, tucked away a 32nd-minute penalty after a clumsy foul by Gyrano Kerk on Stephen Eustaquio.
Porto dominated the game after Antwerp midfielder Jurgen Ekkelenkamp was sent off seven minutes into the second half.
However, despite their numerical superiority, Porto had to wait until one minute into stoppage time for their second goal, headed home by the 40-year-old Pepe.
The result sees Porto move level on nine points with leaders Barcelona, with both sides three points ahead of Shakhtar Donetsk.
Antwerp’s fourth consecutive defeat means they have no chance of a top-two finish, even with two matches left to play.
Red Star Belgrade 1-2 RB Leipzig
Goals from Xavi Simons and Lois Openda gave RB Leipzig a 2-1 win against Red Star Belgrade in Group G to secure a place in the knockout stages.
Leipzig took the lead after eight minutes when Simons found space inside the box and curled a superb shot into the right corner for his second Champions League strike, having also scored against the Serbs a fortnight ago.
The visitors were dominant and could have doubled their lead before half-time, but Red Star keeper Omri Glazer twice denied efforts from Openda.
The Belgium international, however, found the net in the 77th minute in a blow to the hosts, who had looked more aggressive in the second half.
Red Star pulled one back through Benjamin Henrichs’ own goal in the 81st minute but they could not find a leveller and fell to a third defeat in four games.
The German team remained second with nine points, three behind leaders Manchester City, who beat Young Boys 3-0 to qualify for the next round. Red Star are on one point, the same as the Swiss side.
Lazio 1-0 Feyenoord
A first-half goal by Ciro Immobile handed Lazio a 1-0 home win over Feyenoord to move Maurizio Sarri’s side up to second in Group E.
Lazio captain Immobile put the hosts ahead in first-half stoppage time after he rounded visiting goalkeeper Justin Bijlow and struck low from a tight angle towards the far post for his 200th goal for the Italian side.
Lazio are second on seven points from four games, one point behind leaders Atletico Madrid who hammered Celtic 6-0 in the other group fixture.
Dutch side Feyenoord, who came into the game top of the standings, dropped to third on six points.
How did the British sides get on?