Holland will go to Euro 2004 on the back of a 1-0 defeat after Robbie Keane struck a superb winner for the Republic of Ireland in Amsterdam.
Robbie Keane scored his 20th goal for the Republic of Ireland
The Tottenham striker beat Edwin van der Sar just before half-time and it proved enough for an Irish victory.
It was Keane's 20th international goal and he is now just one short of Niall Quinn's Republic record.
It was far from ideal preparation for Holland whose first game in Euro 2004 is against Germany on 15 June.
Keane's strike came just as the first half was entering stoppage-time.
The Dutch defence stood off as he cut inside from the left and unleashed a fierce drive from 20 yards.
To make matters worse for Dutch boss Dick Advocaat, AC Milan star Clarence Seedorf went off with a hamstring injury just 15 minutes after coming on as an interval substitute.
The game had been billed as a revenge match for the Dutch as it was Ireland who had prevented them from going to the last World Cup.
However, Holland had to play second fiddle to Ireland's
controlled passing game in the opening stages.
The home side, with Patrick Kluivert and Ruud van Nistelrooy paired up front, failed to create many good chances in the first half.
Newcastle keeper Shay Given, though, marked his 60th cap by making a fine low save to keep out a header from Roy Makaay in the second period.
That would have salvaged a draw for Advocaat's side but instead they head to Portugal and a tough Group D with the jeers and whistles of the Amsterdam fans ringing in their ears.
Holland: Van der Sar, Bouma, Van Bronckhorst, Reiziger, Stam,
Cocu, Davids, Sneijder, Van der Vaart, Kluivert, van Nistelrooy.
Subs: Waterreus, Westerveld, de Boer, Heitinga, Bosvelt,
Seedorf, Zenden, Van Hooijdonk, Makaay, Van der Meyde, Overmars,
Republic of Ireland: Given, Finnan, Maybury, Cunningham, O'Brien,
Holland, Barrett, Alan Quinn, Morrison, Robbie Keane, Andy Reid.
Subs: Thompson, Doyle, Doherty, Rowlands, Colgan, Clarke,
McPhail, McGeady, Lee.
Referee: M Dean (England)