BEIJING (AP) Goalkeeper Max Weinhold denied Dutch player Taeke Taekema's penalty stroke Thursday to give Germany a 4-3 shootout win and a spot in the gold-medal game after a 1-1 draw.
In the other semifinal, Spain defeated defending Olympic champion Australia 3-2 on a late goal by Santiago Freixa, meaning Spain will play Germany on Saturday for the gold medal.
Germany last won gold in 1992. Spain has never won gold, but claimed silver in 1980 and 1996 and bronze in 1960.
Australia, the world's top-ranked team, will play the Netherlands for bronze.
In the Germany-Netherlands match, neither team scored until the final four minutes of regulation. Timme Hoyng scored for the Netherlands in the 66th minute, and Philipp Zeller answered for Germany two minutes later.
Neither team scored in extra time, leaving the score 1-all heading into penalty strokes.
Weinhold and Dutch goalkeeper Guus Vogels both had two saves in penalty stroke competition before sudden death. Germany's Christopher Zeller scored to give Germany the lead, then Weinhold stopped Taekema, who had scored 10 goals in six games.
In Spain's victory, Australia took a 2-0 lead on Eddie Ockenden's goal in the 37th minute. Eduard Tubau scored in the 39th and 44th minutes to tie the score and set up Freixa's opportunity. Freixa scored on a penalty corner in the 68th minute.
Australia had shown vulnerability in draws against Netherlands and Britain in pool play. The Aussies had won their first three matches by a combined score of 19-2.
New Zealand beat Pakistan 4-2 for seventh place and Belgium defeated Canada 3-0 for ninth.