City were behind within the first minute against the Bundesliga outfit, but levelled shortly after through Sergio Aguero in a thrilling Group F encounter.
Chances went begging for the Blues who were denied what looked like a clear penalty, until Silva struck home in the 87th-minute.
READ: Vincent Kompany reaction
What happened?
What a start.
The game had barely started when Hoffenheim carved an opening as Belfodil found space between Aymeric Laporte and Nicolas Otamendi to fire a low shot past Ederson with just 44 seconds on the clock.
City’s response was superb.
First Raheem Sterling set off on a mesmerising dribble that took him past the last defender only for the England winger to lose his footing as he was about to enter the box – what a goal it would have been.
With Hoffenheim giving the Blues acres of space, it looked just a matter of time before City levelled and the only surprise was that it took seven minutes.
David Silva, given the sort of freedom he must only dream of, set Leroy Sane clear on the left and though his pass didn’t immediately find Aguero, the Argentine beat two defenders as he poked home the equaliser.
Not long after, the majestic Silva played an inch-perfect pass into the path of Sterling and as he raced into the box, his shot was deflected just wide by Baumann, the Hoffenheim keeper.
It fast, open and wonderfully entertaining.
The Blues came close again when another move orchestrated by Silva ended with Sane somehow finding his way past three challenges before the ball span up to Aguero who acrobatically volleyed inches wide.
Then Aguero curled a beauty towards the top left-hand corner from 20 yards out only for Baumann to claw the shot wide as the breathless pace of the game continued.
The hosts reminded everyone they were still very much in the game as they forced Ederson into two good saves just before the break.
Aguero fired a howitzer an inch over the bar in the last minute of the first-half after Ederson had thumped an 80-yard pass to his feet and that was that for a half nobody wanted to end.
It was perhaps to be expected that the frenetic pace went down a notch or two after the re-start and the chances were far fewer for City.
Hoffenheim almost profited from a long clearance that Ederson raced out to clear and as the ball bounced higher than he expected, the Brazilian just about managed to get enough of his head to stop the hosts racing through to score.
Ilkay Gundogan limped off with what looked like a hamstring tweak on 68 minutes - a blow ahead of Sunday’s clash with Liverpool - and on 70 minutes, his replacement Bernardo Silva turned his marker superbly, sent in a cross and Aguero’s header was snatched on the line by Baumann.
Two minutes after that, Sane raced into the box and was felled by the arm of Baumann, but the referee waved appeals away – it looked a certain penalty – just one of a number of marginal decisions the official didn’t find in City’s favour.
But the Blues had the final say when the superb Silva nipped in ahead of his marker to drill home a thoroughly deserved winner for the Premier League champions.
Mesmeric Silva
Now 32, David Silva seems to just get better and better.
The Blues’ playmaker was electric from start to finish, picking the Hoffenheim defence apart time after time with an array of passes that smacked of ‘genius at work’.
His link up play was sharp, fast and he was always one step ahead of the opposition.
And who deserved to score the winning goal more than him?
As incredible as it seems, this might have actually been his best game yet for City.
Magical from El Mago.
Star man: David Silva
Easy choice - despite the Blues having many candidates on another night.
Pep’s verdict:
“After losing the first game it was so important we don’t lose today - the game was tight and in the end, we won. To win in Germany is always so complicated. It’s a good three points, we fought against a lot of things, and that is why satisfying for the team.
“After losing the first game it was so important we don’t lose today - the game was tight and in the end, we won. To win in Germany is always so complicated. It’s a good three points, we fought against a lot of things, and that is why satisfying for the team.
Hoffenheim will cause problems
“After losing the first game it was so important we don’t lose today - the game was tight and in the end, we won. To win in Germany is always so complicated. It’s a good three points, we fought against a lot of things, and that is why satisfying for the team.
“Hoffenheim are so well organised defensively, with the ball they are so strong. It was not easy to find it, but at end we found the right moment to win the game.
Expansive, fast and adventurous, Hoffenheim showed they are playing Champions League football on merit.
“After losing the first game it was so important we don’t lose today - the game was tight and in the end, we won. To win in Germany is always so complicated. It’s a good three points, we fought against a lot of things, and that is why satisfying for the team.
“Hoffenheim are so well organised defensively, with the ball they are so strong. It was not easy to find it, but at end we found the right moment to win the game.
Expansive, fast and adventurous, Hoffenheim showed they are playing Champions League football on merit.
“Hoffenheim are so well organised defensively, with the ball they are so strong. It was not easy to find it, but at end we found the right moment to win the game.
“We need to live this experience to get better. You cannot make the next steps if you don’t suffer, you don’t live this experience - so this will be good for the future.”
“We need to live this experience to get better. You cannot make the next steps if you don’t suffer, you don’t live this experience - so this will be good for the future.”
“We need to live this experience to get better. You cannot make the next steps if you don’t suffer, you don’t live this experience - so this will be good for the future.”
The Bundesliga side may be new to the competition, but they’ll catch teams out with their tactics, swift-counter-attacks and energy.
Pep reaction:
“Hoffenheim are so well organised defensively, with the ball they are so strong. It was not easy to find it, but at end we found the right moment to win the game.
“We need to live this experience to get better. You cannot make the next steps if you don’t suffer, you don’t live this experience - so this will be good for the future.”
What it means
City (three points) are off the bottom of Group F and up to second after Lyon’s 2-2 draw with Shakhtar. Lyon are top with four points, Shakhtar are third with two points and Hoffenheim bottom with one point.
What’s next?
In the Champions League, City will next face back-to-back clashes with Shakhtar Donetsk.
On Sunday, however, it’s back to Premier League action with arguably the game of the season so far as City travel to Anfield for a top-of-the-table clash with Liverpool.
Whoever wins will go into the international break as the leaders – unless it’s a draw which will see the Blues remain top.