The win for Joachim Low’s side took them to the top of Group D and means they will face England in Bloemfontein on Sunday afternoon, while Ghana ensured African representation in the knockout phase by edging out Australia on goal difference. The Black Stars will now take on the US in Rustenburg.
The German contingent were jeering any touch for Berlin-born Kevin-Prince Boateng, whose tackle on Michael Ballack in the FA Cup final last month ruled the Germany star out of the World Cup. However, the Portsmouth man was able to tune out from it and one incisive ball to Gyan should have led to a chance, but the Rennes forward’s first touch was poor.
Richard Kingson then had to react quickly at his near post as Anthony Annan deflected a Lukas Podolski cross from the left goalwards in the 10th minute, and at the other end a clever ball from Kwadwo Asamoah played in the advancing Boateng but Bastian Schweinsteiger did enough to cut out his cutback to Gyan.
Ghana were proving more than a match for the Germans and created a golden opening early in the second period as Asamoah burst through, but his weak effort was blocked by the onrushing Manuel Neuer.
It was a costly miss as Thomas Muller found Ozil in space outside the area and he flashed a left-foot shot beyond Kingson on the hour mark to take Germany to the top of the group.
Lahm made a crucial block to deny Ayew after Gyan back-heeled the ball into the path of the onrushing midfielder but Germany were not sitting on their lead and Cacau drilled a long-range shot goalwards which Kingson parried away awkwardly.
Ghana continued to press without creating too many clear-cut openings and Neuer was given a rare test by an Annan shot, although it appeared with Australia beating Serbia both teams were happy enough if the result stood.
GHANA: Kingson, Pantsil, John Mensah, Jonathan Mensah, Sarpei, Kevin-Prince Boateng, Annan, Asamoah, Tagoe (Muntari 64), Gyan (Amoah 81), Andre Ayew (Adiyah 90).
GERMANY: Neuer, Boateng (Jansen 72), Friedrich, Mertesacker, Lahm, Khedira, Schweinsteiger (Kroos 81), Muller (Trochowski 68), Ozil, Podolski, Cacau.
Referee: Carlos Eugenio Simon (Brazil).