By Gabriel Tan
Despite dominating the first half, City didn't exactly carve out any real chances and it was their opponents who came closer to scoring, with Marco Reus forcing Joe Hart into a fine save shortly before the break.
But there was to be no denying the Bundesliga side three minutes before the hour mark when Jakub Blaszczykowski drilled an inch-perfect cross into the box for Julien Schieber to poke home and condemn the Citizens to their third European defeat of the campaign.
Here, ESPNSTAR.com takes a look at where the game was won and lost at the Signal Iduna Park on Tuesday.
While Dortmund coach opted to rest a few first-teamers on the night, including Lukasz Piszczek and Neven Subotic, their absences were hardly felt as Oliver Kirch and Felipe Santana filled in seamlessly.
Kirch completely nullified the threat of Scott Sinclair while Santana showed a good understanding with Mats Hummels.
However, the standout defender for BVB was once again Marcel Schmelzer, who defended well and also put their opponents on the back foot by swinging in a number of tantalising crosses on his trusty left foot.
Goalkeeper Roman Weidenfeller also had a good game and made a series of smart saves to deny Edin Dzeko, including one down low to his right to push away a 20-yard strike from the Bosnian in the 33rd minute.
Weidenfeller - 7.5 | Kirch (off 88') - 7.5 | Hummels - 7 | Santana - 7 | Schmelzer - 8
Despite City enjoying the lion's share of possession in the opening 45, the Dortmund midfield stepped up their game after the break and more than matched their more-illustrious opponents.
Although he was shifted from his usual central midfield role to a more defensive one due to injuries to Sebastian Kehl and Sven Bender, Ilkay Gundogan showed he is capable of doing a job as an anchorman and shielded his backline with distinction.
Nonetheless, the real star in the Dortmund engine room on the night was 19-year-old Moritz Leitner, who proved impossible to contain with his off-the-ball running and clever distribution.
Kevin Grosskreutz was also serviceable despite being played in the unfamiliar position in the heart of midfield.
Gundogan - 7 | Leitner - 8.5 | Grosskreutz - 7
It was somewhat strange that Reus was taken off at halftime given he had been the hosts' best player in the first half, although Klopp was probably saving him for Bundesliga action at the weekend.
Ivan Perisic, on the other hand, showed why he is struggling to get a game as he was awful on the left flank. The Croatia international struggled to find the ball and was selfish a lot of the time, and when he finally decided to cross the ball into the box, his deliveries were also lacking.
Julian Schieber does however deserve credit for his performance, especially considering it must be difficult being the reserve striker in a team that only plays one man up front.
Such a situation makes it imperative someone like Schiber takes his chances when they comes his way, and he definitely did just that in the 57th minute when he scored the only goal of the game with a tidy finish.
Reus (off 46') - 8 | Perisic - 5.5 | Schieber (off 77') - 7.5
Klopp deserves plenty of credit for his substitutions and it was Blaszczykowski, who came on at the break, who delivered the telling pass for Schieber's winner.
Apart from that, the Poland international was a real thorn in City's flesh, while his compatriot Robert Lewandowski, showed glimpses of quality in his cameo appearance after being handed a much-deserved rest from starting-XI duty.
Blaszczykowski (on 46') - 7.5 | Lewandowski (on 77') - 6.5 | Bittencourt (on 88') - N/A
If not for Hart, Roberto Mancini's men might have found themselves on the receiving end of an embarrassing scoreline, as the England number one made clever saves to deny Reus, Lewandowski, Grosskreutz and Perisic.
However, he was really let down by his defence and in particular Maicon, who spent most of the game strolling around the touchline.
The Brazilian's failure to help cover his centre-backs gave Schieber to space he needed inside the box to break the deadlock, although Vincent Kompany was equally at fault for losing him in the first place.
Joleon Lescott fared slightly better as he managed to complete the 90 minutes without a glaring error, and embarrassingly for the trio, it was young Matija Nastasic that performed the best out of the City back four.
Hart - 7.5 | Maicon - 5 | Kompany - 5.5 | Lescott - 6.5 | Nastasic - 7
One thing the Citizens were sorely lacking at the Signal Iduna Park was a creative spark from midfield, and both Samir Nasri and Scott Sinclair were extremely disappointing down the flanks as they failed to get into the game.
Sinclair, in particular, is starting to look like one of the worst buys of the season given he looks a shadow of the player he was at Swansea last year that convinced Mancini to fork out a reported £8million for his services.
It was also strange that the Italian tactician opted to play two defensive-minded central midfielders, all while both were tidy in distribution, they were incapable of delivering any telling passes in the final third.
Nasri (off 68') - 5.5 | Barry - 6.5 | Garcia - 6 | Sinclair (off 57') - 5
For all his endeavour, Carlos Tevez had a disappointing outing as he struggled to get into many goalscoring positions, apart from midway through the first half when he was faced with an open goal but saw Schmelzer get in ahead of him to clear the danger.
Edin Dzeko was City's main threat all evening long and tested Weidenfeller on numerous occasions, which is why it was very strange he was brought off four minutes after the hour mark.
Tevez - 6.5 | Dzeko (off 64') - 7.5
Out of the City substitutes, Sergio Aguero fared the best as he did give Hummels and company something to think about with his direct style of play.
The same cannot be said for Mario Balotelli and Pablo Zabaleta, who both struggled to get involved after coming onto the pitch.
Aguero (on 57') - 6.5 | Balotelli (on 64') - 6 | Zabaleta (on 68') - 6