Fredi Bobic’s opener and a Michael Ballack penalty put the home side in control until Neil McCann superbly pulled one back before substitute Maurice Ross was sent off.
The Scots were calling for a penalty after just 15 seconds when Carsten Ramelow bodychecked Thompson in the box but Swedish referee Anders Frisk waved play on.
Germany were looking shaky at the back and after Ramelow misplaced a pass Kahn had to race out of his box to get to a long ball ahead of Neil McCann.
But in the 25th minute the home side took the lead through Fredi Bobic, who netted from close-range. Kuranyi set him up by retrieving the ball in the box after Douglas could only parry a long-range shot from Friedrich. Then, after the restart, Kuranyi fired in a shot from an angle outside the box but this time Douglas was able to gather at his near post.
Douglas made a flying save to deny Bobic a second with a powerful header following a cross from the left from Tobias Rau. The Scots were struggling to create a clear opportunity for an equaliser and Colin Cameron scuffed a shot well wide from outside the box.
A great ball from Thompson sent Jackie McNamara galloping forward but when he tried to set up McFadden in the box the youngster was soon crowded out.
Cameron was hurt blocking a Kuranyi shot after a Schneider pull back had eluded men in the box.
Lambert did not re-appear after the break so on came Maurice Ross at right back with McNamara moved upfield.
Germany were awarded a penalty in the 50th minute when Bobic was pulled back by Pressley as he challenged for a Friedrich cross into the box. The Hearts man was booked and Ballack made no mistake from the spot.
In the 53rd minute McFadden was replaced by Gavin Rae and within seconds a brawl had erupted after Ferguson reacted angrily to a Rau challenge.
Both men were booked and Ross was booked seconds later for a challenge on the same player as tempers boiled over again.
Kuranyi fired wide as the Germans pressed again but the Scots’ reply was a superb strike by McCann, who met a Thompson ball from the right on the run and the ball rocketed past the helpless Kahn.
It was a 60th minute lifeline for Vogts’ side and McCann’s second goal in as many internationals In the 66th minute Ross was sent off for his second bookable offence on Rau. Dailly, convinced Rau was making a meal of it, barged the referee out of the way, to make the German aware of his feelings.
Douglas saved a long-range effort from Frank Baumann before doing the same to deny Ramelow.
Bobic headed wide before he was replaced in the 76th minute by Miroslav Klose.
The Scots’ hopes were raised when McCann won a free-kick in a good position on the right but Kahn leaped to collect in a packed area.
Then Rae fired wide as the seconds ticked away.
In stoppage time Douglas denied Klose with a fine save.
GERMANY: Kahn, Friedrich, Worns, Ramelow, Rau, Rehmer, Baumann, Schneider, Ballack, Kuranyi, Bobic.
SCOTLAND: Douglas, McNamara, Pressley, Dailly, Naysmith, McFadden, Cameron, Lambert, Ferguson, McCann, Thompson.