Portugal boss Santos rung the changes from the Egypt match on Friday night, with only Rolando and Cristiano Ronaldo keeping their spots in the XI. There was an international debut at full-back for Napoli's Mario Rui, while Jose Fonte and Andre Gomes were among those to come into the team.
Portugal started the brighter, but it was the Netherlands that made the breakthrough in the 11th minute when Depay swept a Donny van de Beek effort into the bottom corner of the net.
Wijnaldum was next to try his luck for the Netherlands in the 21st minute, although the Liverpool midfielder's effort from distance was always rising over the crossbar.
Much of Portugal's work involved trying to find Ronaldo in the final third, but the Real Madrid attacker cut a frustrated figure for the first 30 minutes of action in Geneva.
Netherlands doubled their advantage in the 32nd minute when Babel headed a powerful De Ligt cross into the back of the net to stun the Euro 2016 winners.
Koeman's side came close to making it 3-0 in the closing stages of the first period when Depay rose highest inside the Portugal box, but the former Manchester United winger saw his header saved by his Lyon teammate Anthony Lopes.
Netherlands were not to be denied, however, and had their third in stoppage time at the end of the first half when Van Dijk fired into the bottom corner following a knockdown from De Ligt in a wide position.
Netherlands goalkeeper Jasper Cillessen produced a fine save to keep out a Ronaldo header early in the second period, but the offside flag had been raised, before the Barcelona stopper denied Ricardo Quaresma moments later.
It went from bad to worse for Portugal in the 61st minute when Cancelo was shown a second yellow card for a poor challenge on Tonny Vilhena as Santos's side were reduced to 10 men.
Ronaldo was then withdrawn in the 68th minute during a period where both managers utilised their squads.
Rui tested Cillessen with a long-range strike in the 73rd minute as Portugal looked for a consolation goal, but the Netherlands remained fairly comfortable in a defensive position.
Ajax's Justin Kluivert entered for his Netherlands debut 12 minutes from time, although it was Portugal doing most of the pressing in the latter stages following a disastrous first 45 minutes.
Santos's side could not breach the Netherlands goal despite their best efforts, however, with Cillessen producing a stunning save to keep out a Goncalo Guedes header in the final moments, before Van de Beek cleared one off the line.
PORTUGAL (4-3-3): Lopes; Cancelo, Rolando (Neto 46'), Fonte, Rui; M. Fernandes, Gomes (Andre Silva 46'), Adrien Silva (Guedes 46'); B. Fernandes (Mario 79'), Ronaldo (Moutinho 68'), Quaresma (Martins 56')
NETHERLANDS (5-3-2): Cillessen; Tete (Til 78'), De Ligt (Fosu-Mensah 84'), Van Dijk, Ake, Vilhena (De Vrij 67'); Van de Beek, Propper, Wijnaldum (De Roon 68'); Babel (Berghuis 84'), Memphis (Kluivert 78')