The game was heading towards a draw but with three minutes remaining, David Silva capitalised on a mistake in the Hoffenheim defence before lashing the ball into the bottom corner.
Find out how all of the action unfolded at the Rhein-Neckar-Arena courtesy of Sports Mole's minute-by-minute updates below.
MANCHESTER CITY SUBSTITUTES: Muric, Zinchenko, Danilo, Stones, B.Silva, Mahrez, Gabriel Jesus
HOFFENHEIM SUBSTITUTES: Kobel, Nelson, Bittencourt, Kramaric, Grifo, Hack, Amade
HOFFENHEIM XI: Baumann; Akpoguma, Hoogma, Posch; Kaderabek, Demirbay, Grillitsch, Brenet; Belfodil, Joelinton, Szalai
MANCHESTER CITY XI: Ederson; Walker, Kompany, Otamendi, Laporte; Fernandinho, Gundogan; Sterling, D.Silva, Sane; Aguero
If you would like to read our on-the-whistle match report, you can do so by clicking here. Goodbye for now.