Hosts Brazil suffered one of the most humiliating defeats in World Cup history as Germany scored five times in the first half in reaching the final, the BBC reports.
Thomas Muller volleyed home following a corner before Miroslav Klose swept in to become the World Cup’s all-time leading scorer with his 16th goal.
Toni Kroos drove in the third and then tapped in his second before Sami Khedira made it 5-0 from 12 yards.
Andre Schurrle added two more after the break before Oscar’s late consolation.
Germany will play either Argentina or Netherlands – who face each other on Wednesday – in Sunday’s final.