Manchester City have sealed a place in the last 16 of the Champions League with a 1-1 draw against Borussia Monchengladbach at Borussia-Park on Wednesday evening.
Had Barcelona not defeated Celtic, Pep Guardiola's men would have needed to beat Gladbach, but it turned out that the Spanish giants earned a 2-0 win in Glasgow.
In Germany, Raffael put the Bundesliga outfit ahead with a goal, but City found a lifeline when David Silva scored on the stroke of half time.
Both teams had a man sent off in the second half, with Gladbach captain Lars Stindl and City's Fernandinho being shown second yellow cards by referee Cuneyt Cakir.
At the start of the game, Gladbach set up with 11 men behind the ball, but in the first half-hour they caused plenty of problems for City's three-man defence with numerous counter-attacks.
The hosts had to wait patiently as City dominated possession in the first half, but they went ahead in the 23rd minute when Stindl left John Stones in a heap before cutting the ball back to the centre of the box to find Raffael, who hammered the ball into the back of the net.
The majority of first-half chances fell to Gladbach, while Sergio Aguero was left frustrated and isolated up front until the final 10 minutes of the game.
Ilkay Gundogan came close to finding the breakthrough for City when Kevin De Bruyne found him from a corner kick lurking outside the box, and the midfielder took a touch before drilling the ball towards the bottom left corner.
Yann Sommer showed quick reflexes to drop down and save with his fingertips, but his opposing number Claudio Bravo almost made a blunder at the other end when he threw the ball directly to Oscar Wendt.
The Swede skipped past three players, including Fernandinho, before unleashing a shot from inside the box, but Bravo redeemed himself by coming off the line and smothering the ball.
Mahmoud Dahoud, who has been linked to Liverpool and Borussia Dortmund, went for glory from the edge of the area as he attempted to curl the ball into the top corner, but it flew over the crossbar.
City's first real opportunity of the match came in the 45th minute when De Bruyne played the ball over the top for Raheem Sterling. The England international poked the ball across to Aguero, whose shot was saved.
One minute later, City found an equaliser through Silva, who nudged the ball home from close range after De Bruyne fizzed the ball across goal after darting towards the byline.
After the break, City looked more threatening, and Stones came close to nabbing a winner when he tried to get on the end of De Bruyne's free kick, but his header across goal was collected by Sommer.
Sterling had the ball in the net a few minutes later when he poked home after receiving a short pass from De Bruyne in the box, but the England international was offside when it was hit.
After a positive first half, Gladbach were dealt an early blow in the second when captain Stindl was sent off after receiving a second yellow card for bashing into Nicolas Otamendi.
Following the sending-off, City produced waves of attack, but their one-man advantage did not last long as Fernandinho was also given his marching orders for appearing to pull back his opponent.
With the teams back on level terms with regards to personnel, Gladbach were boosted as Raffael wriggled away from his opponent and let one fly just wide of the post.
At the other end, De Bruyne's thumping effort at goal produced a one-handed save from Sommer, but the hosts continued to push for a winner, albeit with a lack of cutting edge at times.
Both sides had opportunities towards the end of the game, but neither could find a winner as City booked their place in the knockout rounds, while Gladbach will be hoping for Europa League qualification.
There is one more round of fixtures left in the group stage.