David Silva's late winner ensured Manchester City earned their first win in the Champions League this season, with a 2-1 win away at Hoffenheim.
The game looked to be heading for a draw after Sergio Aguero cancelled out Ishak Belfodil's opener, but the Spaniard popped up just three minutes from time to snatch the win.
The hosts had the perfect start at the Rhein-Neckar-Arena, when Ishak Belfodil put Hoffenheim in front inside the first minute, finishing well off the through ball of Kerem Demirbay.
Their lead lasted only six minutes as Man City found an equaliser through Sergio Aguero. Leroy Sane was played in by a cutting pass from David Silva, before keeping his composure to find the Argentine, who managed to stab the ball home.
In a game played at a frantic pace, chances continued to come for the remainder of the half, primarily for the Premier League side, although smart saves from both goalkeepers meant there no further goals before the half time interval.
There was no let up in intensity throughout the second period, as both sides had chances to take the lead, while City will feel aggrieved they weren't awarded a penalty when Oliver Baumann looked to have brought down Sane, although Damir Skomina sheepishly pointed for a goal kick.
The game looked to be heading for a draw, before Silva pounced on a lose touch to fire home for City.
Here's our breakdown of this one...
Key Talking Point
It looked to be another frustrating night in the Champions League for Manchester City before Silva's winner, as chances came and went for the visitors.
Aguero and Raheem Sterling were guilty of wasting several chances that would've made their night in Germany a straight forward one, while Hoffenheim played their part in an entertaining game with their energy and pressing.
Pep Guardiola tweaked his side with formation and personal changes prior to Silva's winner as City appeared to be dropping more points, yet despite the win, the Premier League champions know Group F won't be the stroll many predicted.
Starting XI: Ederson (6); Walker (6), Kompany (6), Otamendi (4), Laporte (5); Gundogan (6), Fernandinho (6), D. Silva (9*); Sterling (6), Aguero (7), Sane (7).
Substitutes: Stones (6), B. Silva (6), Mahrez (6)
David Silva was magnificent for City once again, hauling his team over the line with his usuual poise and grace.
His pass to Sane was pivotal in the build-up to Aguero's equaliser, while he was in the right place to steal possession in the area and score what proved to be the winner.
Especially in the first half, Silva conducted play for City as they looked dangerous on the counter attack, and gave another example as to why he is such an important figure if Guardiola's side are to have any success this season.
David silva, hands down, one of thee best City players ever, the man is pure class— Dan Burns 11:11 (@dannyburns4) October 2, 2018
David Silva pounces! Loose ball, no mistake. He's not the fastest player in terms of pace but in speed of thought he's up there with the best— Sam Lee (@Sammy_Goal) October 2, 2018
Yet another poor Champions League performance. Agüero, Sané, Sterling and David Silva are the ones who are actually playing with some dignity and quality. Need to find our form again from last season when we used to trash teams like Hoffenheim weakly.— Real Talk Manchester City ⚽️ (@RealTalkMCFC) October 2, 2018
City conceded within the first minute, which set the tone for what was an erratic display from Nicolas Otamendi at the heart of City's defence.
The Argentine was caught out of position for Belfodil's goal, while he continuously lunged into challenges and never looked comfortable all evening, eventually getting the hook in the 64th minute to compound his dismal performance.
Kompany is finished great bloke been a very good defender but he's for and otamendi is so bad— Soph (@SophGallagher4) October 2, 2018
The back 3 / back 4 transition thing only really works if they have stones and Laporte in together. Otamendi just can’t make the correct reads. Otamendi is good when they have walker and Mendy in together as tru dive bombing wing backs, with no dynamic back end changes— EffJayAre (@EffJayAre) October 2, 2018
Starting XI: Baumann (7); Brenet (6), Akpoguma (6), Posch (5), Kaderabek (6); Demirbay (8), Hoogma (7), Grillitsch (6); Joelinton (6), Szalai (5), Belfodil (7).
Substitutes: Kramaric (6), Bittencourt (6), Hack (N/A)
Despite the loss, one man who caught the eye was Kerem Demirbay in midfield, with his pass setting up Belfodil for their goal.
The German looked calm in possession all evening, with his performance bound to catch the eye of a number of sides around Europe.
Odds on Kerem Demirbay being a Premier League player next season?— Turkish Football (@Turkish_Futbol1) October 2, 2018
Stefan Posch was caught out for City's winner, and the young defender looked uncomfortable during spells in the game, as he looks to learn from the experience.
Hoffenheim host Eintracht Frankfurt on Sunday when they return to Bundesliga action, with their next Champions League game at home to Lyon.
Manchester City have a tough league fixture away to Liverpool this Sunday, while their next fixture in Europe is away to Shakhtar Donetsk.