Euro 2012: Germany 2 Netherlands 1
Robin van Persie pulled one back for the Netherlands in the second half but the defeat leaves the 2010 World Cup runner-up on the brink of elimination.
Germany has six points from two wins but is still not sure of advancing from Group B, where three teams could end up with six points. Earlier, Portugal beat Denmark 3-2.
The Netherlands, along with Germany considered one of the favorites but drawn into a tough group, now has lost both group games and needs to beat Portugal to have a hope. Germany will need only a draw against Denmark to win the group.
Gomez put Germany ahead in the 24th minute after collecting a pass from Bastian Schweinsteiger at the edge of the penalty area and turning between two Dutch defenders, who were betting on an offside call. But Gregory van der Wiel failed to move forward quickly enough and Gomez had a simple task in slotting past Maarten Stekelenburg.
Stekelenburg made a stunning reflex save to stop Holger Badstuber's header from a free kick cross from Mesut Oezil from point-blank range in the 37th, but one minute later he was beaten again.
Gomez and Schweinsteiger outplayed the Dutch defense with two simple moves. Gomez passed to the ball to Schweinsteiger, who immediately played it into space for Gomez and the striker slotted inside the far post.
Gomez went off in the 72nd minute and was replaced by Miroslav Klose - but one minute later Van Persie finally found the target for the Dutch, driving home from the edge of the box in the 73rd.
Despite a sweltering evening with the temperature at 29 degrees C (84 degrees F) at kickoff, both teams went into the match at high pace and Van Persie missed a couple of early chances.
But Gomez displayed clinical finishing when it mattered and the Dutch appeared shell-shocked as they went in for the halftime break.
By then, the German fans at the Metalist Stadium were already singing, "Aufwiedersehen, aufwiedersehen," - the bye-bye chant of scorn for the Dutch team and its orange-clad fans.
The Dutch were more enterprising at the start of the second half after adding a second striker, Klaas-Jan Huntelaar. But even the later insertion of a fourth Dutch striker, Dirk Kuyt, did not produce the equalizer.
Netherlands: Maarten Stekelenburg, Gregory van der Wiel, John Heitinga, Joris Mathijsen, Jetro Willems, Mark van Bommel (Rafael van der Vaart, 45), Nigel De Jong, Wesley Sneijder, Arjen Robben (Dirk Kuyt, 83), Ibrahim Afellay (Klaas-Jan Huntelaar, 45), Robin van Persie.
Germany: Manuel Neuer, Jerome Boateng, Holger Badstuber, Mats Hummels, Philipp Lahm, Sami Khedira, Bastian Schweinsteiger, Mesut Oezil (Toni Kroos, 81), Thomas Mueller (Lars Bender, 90), Lukas Podolski, Mario Gomez (Miroslav Klose, 72).