After suffering a shock 2-1 defeat at home to Lyon a fortnight ago, the Premier League champions badly needed the three points to move off the bottom of Group F.
Sergio Aguero's equaliser seven minutes later seemed to have set them back on course as they dominated the opening half but the Bundesliga side, bold and enterprising, held on until Silva cashed in on a late defensive error. Shakhtar's two draws leave them on 2 points and Hoffenheim are bottom with a single point.
It was a dream start for Hoffenheim in their first-ever UEFA Champions League home fixture as Belfodil netted an opener within the first minute.
"We've come from a good result at the weekend and we're coming here to get the victory". "You can not make the next steps if you don't suffer or live this kind of experience, where you have to fight against everything".More news: WUHAN OPEN TENNIS: In-form Barty upsets Kerber
City turned defence into attack quickly as Silva played Raheem Sterling through but the England forward was denied by the legs of Oliver Baumann, who also made a brilliant save to keep out Aguero's attempt to find the top corner.
Liverpool have certainly improved since Virgil van Dijk was brought in, so I'd go for them.
It was then Silva who managed to break the deadlock as a bad defensive error from Posch allowed the Spanish midfielder to pounce as he nicked the ball away from the young defender before burying his effort into the back of the net.
City's progress to the group stage is still far from certain with Group F intriguingly balanced. "Now it's in our hands unlike before and, of course, we can not make the mistake we did against Lyon", said Guardiola. They are a team in form and at Anfield, we know this will be a hard game for us, but I think this City side has shown in the past that we are always up for these games'.