Gomez, who had scored the winner in Germany's opening win over Portugal, opened the scoring in the 24th minute and added his second in the 38th before Robin van Persie reduced the deficit 17 minutes from time.
The result means Germany need just a point from their final Group B game against Denmark to guarantee progression, while Holland need to beat Portugal and hope for both a Germany victory and a swing in goal difference.
Bert van Marwijk's men had shaded the opening exchanges, with Van Persie shooting straight at Manuel Neuer as he sought to atone for a series of missed chances in the Dutch defeat to Denmark.
Mesut Ozil responded for Germany with a ninth-minute volley which struck the base of Maarten Stekelenburg's left-hand post before he managed to gather up the ball.
Gomez put Germany ahead in the 24th minute with a fine finish after Bastian Schweinsteiger's through-ball cut the Dutch defence in two. Gomez turned and fired the opener low to Stekelenburg's right.
Arjen Robben slammed a long-range effort straight at Neuer as Dutch frustration began to tell, although they were secure in the knowledge they could not face elimination due to Portugal's earlier win over Denmark.
It was just as well, as the Germans soon doubled their lead. It came from another move down the right, Schweinsteiger playing in Gomez who looked up and slammed an unstoppable shot across the keeper from a tight angle.
Van Persie drifted across the left flank before drilling a fizzing drive past Neuer from the edge of the box, but it did nothing but give the Dutch false hope of a comeback as a second never looked likely.
Holland's second defeat of the tournament has presented both Denmark and Portugal with the chance of progressing.
Substitute Silvestre Varela's late strike in the 87th minute robbed the Danes of a vital point, after a Nicklas Bendtner double cancelled out first-half strikes from Pepe and Helder Postiga.
"Our organisation was good but we can still improve," said Paulo Bento, the Portugal coach. "We have had two good games now against two great opponents. We've had obstacles but we're continuing on our path – the right path. We suffered after the first game, but these three points means it is now in our hands."
Denmark coach Morten Olsen admitted conceding so late was devastating for morale. He said: "It's a horrible feeling to concede so close to the end and end up losing the game. We merited a point. I think with a bit of luck we could have got a draw."




