André Schubert made two changes from the heart-breaking, 2-1 derby loss to 1. FC Köln, as Jannik Vestergaard and Thorgan Hazard made way for Tony Jantschke and Fabian Johnson.
Pep Guardiola's Citizens were on the right side of the same scoreline at the weekend as they squeezed three points from Crystal Palace. Guardiola opted for four alterations as John Stones, Ilkay Gündogan, Silva and Jesus Navas replaced Bacary Sagna, Vincent Kompany, Yaya Touré and Nolito.
Silva strike levels matters at the break
Despite City dominating possession early on, it was Gladbach who made the more meaningful strides forward into the final third. Johnson had a good opening after fine play from Raffael, though Claudio Bravo was able to keep out the American's strong short with an equally impressive save.
However as time wore on, the visitors began to work their way through the opposition. Nico Elvedi was required to flick the ball away from goal when Navas' cross ran in front of goal. Silva was also having a notable effect on the game, as the two Spaniards looked well set to the trouble the home defence on a regular basis.
Gladbach were beginning to look more confident on the counter and their ability to break paid dividends midway through the half. Lars Stindl managed to get the better of Stones on the left, before driving to the box and cutting the ball back to Raffael. The Brazilian collected on the edge of the area, and fired past Bravo with real power.
In the aftermath, both sides traded chances in an entertaining run to the break. Yann Sommer's first involvement in the match was absolutely vital, as he pulled out a superb, low save to his left in order to keep out Gündogan's effort. At the other end, Oscar Wendt's determined run resulted in Bravo matching his opposite number with a good stop.
Mahmoud Dahoud then sent a late effort screaming narrowly over the bar, but City would have the final and crucial say. A classy passing move on the edge of the Gladbach area culminated in de Bruyne moving in behind the home defence and squaring for Silva to slide the ball past Sommer; an equaliser right on half time.
Red cards and constant fouls in stuttering second half
Gladbach came out late following the half-time break, and it appeared that they were just as slow to get going. Raheem Sterling had a goal chalked off after de Bruyne's scuffed shot broke for him in an offside position. However, a silly second yellow for Stindl saw the captain given his marching orders just six minutes into the second period.
The period after that was controlled by City, but they didn't exert perhaps the pressure that they would have wanted to. Raffael skewed a shot wide as the visitors built slowly, though Guardiola was animated soon after when Fernandinho was sent off for a second bookable offence. The Spaniard was far from pleased.
That didn't deter the Manchester-based outfit and, instead, it seemed to free them up somewhat. De Bruyne cracked a stinging shot from range that brought an acrobatic stop from Sommer, high to his left, while a barrage of low crosses kept Andreas Christensen on his toes throughout the best part of the second half.
Nicolas Otamendi had a late header scream narrowly wide but the final minutes resembled two teams who knew their fate. City will finish as runners-up, while Gladbach will battle it out in the UEFA Europa League.