Inter Milan striker Adriano (21., 76.) set up all of Brazil's goals, winning a penalty for Ronaldinho (43.) to convert, and scoring two himself after Germany had twice equalised through Lukas Podolski (22.) and a Michael Ballack (45.) penalty.
It was the third time Brazil have reached the final and they
will hope to repeat their win from 1997 in the Frankfurt final on wednesday (8.45 pm).
Germany national coach Jürgen Klinsmann could be proud of their progress with this only their second defeat in his 12 months in charge.
In the 21st minute Adriano let rip with a ferocious 35 yard
free-kick with his trusty left foot and with a slight deflection
off the wall German goalkeeper Jens Lehmann was left with no
It was the 250th goal in the Confederations Cup and the 251st
came just 60 seconds later. Sebastian Deisler swung in a corner and Podolski headed past Dida with the Brazil backline all at sea. Just before the interval both teams ploughed forward and a hectic period saw two penalties awarded.
Robert Huth tussled with Adriano and the referee strangely
pointed to the penalty spot with Ronaldinho converting with a plomb in the 43rd minute.
Seconds before the interval Germany were awarded another
spot-kick and Ballack smashed his penalty past Dida for his
third goal of the tournament - remarkably all of them spot-kicks.
In the 58th minute, Kevin Kuranyi, born in Rio but a nationalised German, had a great chance when released but a poor first touch let him down.
Yet Brazil looked dangerous on the counter attack and in the
76th minute Adriano raced through and got the better of Huth,
before hammering a left footed shot past Lehmann.