Eric Dier scored a controversial 90th-minute penalty to deny Manchester City as Monaco twice came from behind in a 2-2 draw at the Stade Louis II.
Erling Haaland's first-half brace had put City on course for a second consecutive win to start this season’s Champions League campaign, with Jordan Teze’s superb strike having cancelled out his first goal.
But City failed to kill the game off and, with five minutes left to play, Dier and Nico Gonzalez tussled as they tried to get on the end of a free-kick. Replays showed Gonzalez, with his boot raised, got the ball first but also struck the former Tottenham defender.
Spanish VAR Cesar Soto Grado told Jesus Gil Manzano to check the monitor and, after a long delay and an off-the-ball tussle in which a Monaco coach was sent off, Manzano pointed to the spot and Dier sent Gianluigi Donnarumma the wrong way.
City could question the decision but could and should have been further clear, with Phil Foden and Tijjani Reijnders striking the crossbar either side of Haaland’s second goal, which took the Norwegian to 52 Champions League goals in 50 appearances.
City’s number nine did not get a touch until the 15th minute but when he did, he scored. Josko Gvardiol spotted his run across the Monaco back line and lifted in a pass which Haaland could flick over Philipp Kohn with an outstretched boot.
What had been a slow match in a tepid atmosphere suddenly came to life as Monaco found some impetus, creating half-chances for Maghnes Akliouche and former Arsenal man Folarin Balogun before Teze levelled the scores only three minutes after Haaland struck.
Collecting the ball on the edge of the area, the Dutch defender took a touch before powering an unstoppable curling effort into the top-left corner of the net.
City were looking vulnerable to Monaco’s pace in defence but, against a side missing five midfielders, were in control as long as they could keep the ball in the opposition half.
Reijnders carved through traffic but sent his shot a whisker wide before Foden cracked a powerful strike off the underside of the crossbar.
But a minute before half-time, Haaland had his second with another demonstration of his freakish ability. There was no pace on Nico O’Reilly’s high cross but, eight yards out, Haaland leapt high and generated the power to head beyond the reach of Kohn.
Monaco threatened early in the second half, most clearly when Donnarumma had to get down smartly to keep out Akliouche’s shot as it came through O’Reilly’s legs.
Rodri, back in the City XI after missing Saturday’s 5-1 win over Burnley with pain in his knee, then made an early exit, replaced by Gonzalez a few moments after going down in a collision.
City struck the crossbar again the 72nd minute, this time through Reijnders at the end of a smart counter-attack. Haaland then had a go from the edge of the box but his shot was touched wide for a corner.
Their failure to find a killer third proved costly. Teze sent in a free-kick from the left and Gonzalez stretched out a boot in front of Dier, getting the connection but also striking the former England defender, who was then the one to strike the decisive kick.
Listen to the RTÉ Soccer podcast on Apple Podcasts, Spotify or wherever you get your podcasts.