Given the breadth of his achievements, qualifying Manchester City for the Champions League knockout stages was a pretty low bar for Pep Guardiola. It has, however, been a rather more troublesome journey than City’s manager might have anticipated, especially away from the Etihad Stadium.

This was not on the scale of the debacle at the Nou Camp, nor did it reach the frantic excitement of the 3-3 draw at Parkhead but it was still a fiercely-competitive night that saw each team suffer a sending-off.

Barcelona’s victory over Celtic meant Manchester City cannot top the group, which may not be a disaster. As it stands, both Real Madrid and Bayern Munich are on course to finish second. At Bayern, Guardiola had never particularly enjoyed his games against Borussia Monchengladbach and this was no different. The side who in Manchester in September had suffered their heaviest European defeat since a Sparta Rotterdam side featuring Louis van Gaal thrashed them 5-1 31 years before, proved they could still be a thorn in his flesh.

It had been a weird couple of days for German football. On Tuesday night Borussia Dortmund had beaten Legia Warsaw 8-4 while before this game kicked off, Bayern Munich had somehow contrived to lose 3-2 at Rostov despite having 21 shots on goal and more than three-quarters of possession.

(Getty (Getty)

This match, too, did not follow an expected pattern, right through to the two sendings-off. For a team that had performed so pitifully over its last six matches that Monchengladbach’s manager, Andre Schubert, remarked he was counting the days to the Bundesliga’s winter break, Borussia began very well.

They tackled, they hassled and in Lars Stindl they had someone who was not afraid to impose himself on Guardiola’s midfield. A few minutes after the interval, already on a yellow card, Stindl imposed himself rather too much on Nicolas Otamendi and was dismissed.

For someone supposedly skippering his team, it was ludicrously stupid, especially as Borussia had already lost Ibrahima Traore to injury. They now had to play a Guardiola team for 40 minutes with 10 men. In fact it was eight because Fernandinho, who was also on a yellow card, pulled back Raffael and was sent off, to the fury of his manager. The contest became a very open 10 vs 10.

Stindl's role in the opening goal was something for him to look back on with something other than frustration. Midway through the first half, John Stones had made a mess of trying to contain him. The Monchengladbach captain squared the ball for Raffael, who had scored against Manchester City here last season. The Brazilian appeared to have taken one touch too many but appearances were misleading and the 31-year-old's next touch was to send the ball thundering past Claudio Bravo.

Raffael celebrates after putting his team ahead (Getty)

Monchengladbach had taken the lead last year but had made the mistake of trying to nurse the lead and lost the match. Now, they kept pushing forward and when Oscar Wendt muscled his way past Fernandinho, Bravo was forced to spread himself superbly to prevent Borussia’s second.

By then, Guardiola had been forced to alter his tactics. The back three with which Manchester City had begun the evening was abandoned, a move that saw Jesus Navas playing right back and Raheem Sterling swapping flanks. Immediately, City looked a different, better-balanced team.

For a side whose last Champions League fixture had seen them sweep aside Barcelona, City had begun looking anaemic in everything but their kit. They were playing in orange and purple, the colours of the B&M Bargains logo.

Silva slides in to direct Kevin De Bruyne's pass into the back of the Borussia net (Getty)

It was Kevin De Bruyne who raised their play above the bargain basement. First, he produced the ball that Ilkay Gundogan brought beautifully under control and then, almost in the same movement, lashed low to force Yann Sommer into a fine save. Gundogan grew up not far from here, in Gelsenkirchen, and for his family who had come to watch, this was a moment to savour.

As the electronic scoreboard counted down to half time, Manchester City relentlessly increased the rhythm. Sterling, breaking through, probably should have shot but pulled the ball back for Sergio Aguero, whose drive was gathered by Sommer at the second attempt. Then, in stoppage time, De Bruyne, with wonderful athleticism, pulled a cross back from the byline and David Silva, anticipating brilliantly, restored the evening to its expected course.

Borussia Monchengladbach (4-2-3-1): Sommer; Elvedi, Christensen, Jantschke, Wendt; Dahoud (Vestergaard 60), Strobl; Traore (Hoffmann 41), Stindl, Johnson; Raffael. Substitutes: Sippel (g), Schulz, Benes, Hofmann, Hahn, Rutten.

Manchester City (3-2-4-1): Bravo; Otamendi, Stones, Kolarov; Fernandinho, Gundogan; Navas, Silva, De Bruyne; Sterling (Sagna 68); Aguero. Substitutes: Caballero (g), Fernando, Nolito, Sane, Clichy, Iheanacho.