Niko Hulkenberg gave Team Germany their first A1 GP victory in a sensational race at Zandvoort.
A rain shower caused havoc in the middle of the race, and the outcome was still in doubt with five minutes to go.
The race started on a dry track, and Salvador Duran took advantage of a slow start from sprint race winner Adrian Zaugg to lead initially for Mexico.
Contact at the first corner removed Zaugg's front wing and the South African car soon ended its race in the gravel trap.
Duran's lead did not last long because he ran wide at Tarzan at the start of lap 2, allowing France's Nicolas Lapierre to move ahead.
It soon became clear that Duran was struggling, and as Lapierre pulled clear, Hulkenburg and then Team Great Britain's Darren Manning overtook the Mexican.
The top four gradually spread themselves out until Manning made an early pitstop at the end of lap 10. The early stop seemed to have handed the British entry an advantage when Pakistan's Nur Ali brough out the safety car after spinning on the pit entry.
With pitstops banned under the safety car period, Manning, Team Netherlands' Jeroen Bleekemolen and Tuka Rocha (Brazil) were able to close up on to the back of the field despite having made their stops.
Lapierre made a great restart to get the jump on the field, aided by Ali being between the French car and Hulkenberg. Just as Lapierre tried to build a lead over the cars that had already stopped, the rain struck.
Everyone came in to change to wet tyres, negating the advantage of those that had already stopped, except for America's Philip Giebler. He decided to stay out on slicks and assumed the lead, over 15 seconds ahead of Lapierre.
The American's lead came down rapidly, with Lapierre being chased by Hulkenburg and a flying Bleekemolen. Lapierre made it back into the lead on lap 23, but he was clearly not at ease with the conditions, and when Hulkenberg and Bleekemolen passed Giebler on the next tour they started closing on the French machine.
On lap 26, Bleekemolen used his circuit knowledge to drive right round the outside of Hulkenberg at Tarzan, and he duplicated the move on Lapierre a lap later to take the lead amid cheering from the hordes of Dutch fans. Hulkenburg soon followed, but he could not catch Bleekemolen.
By this time the rain had stopped and the circuit began to dry. By lap 31, Giebler, who had dropped down as far as sixth, was the fastest car on the track and the stops for dry tyres began.
Bleekemolen alone stayed out on wets, and with just over 10 minutes to go he had a lead of 22 seconds over Giebler, while Lapierre suffered an off before retiring with an ill-handling car.
Bleekemolen searched for the wet patches to cool his wets, but Giebler was gaining fast and he caught the Team Holland car on lap 37.
Faster than both, however, was Hulkenberg, and when Giebler took the lead he followed the American through and immediately started applying pressure.
With just over three laps to go, the German car hit the front and pulled clear to win by almost eight seconds.
Behind Giebler, there was heartbreak for the Dutch fans as the struggling Bleekemolen, still on wets, was caught and passed on the last lap by Ryan Briscoe.
The Australian had started only 14th but stopped at the right times, and impressive pace in the final stint brought him onto the podium.
Fifth place went to Mexico after Duran was able to take advantage of a mistake by Team Italy's Pier Guidi Alessandro. The Italian touched the barrier but was able to continue to take a well-earned sixth.
After the early promise, Manning finished seventh, having lost time in the pits when the Team Canada car pulled into the adjacent garage, and then more places with an off at Tarzan.
"I just pushed and did my best," said Hulkenburg afterwards.
He will be driving for the German squad at next weekend's Brno meeting, and it will be interesting to see whether his best will again be good enough.
Pos Team Time 1. Germany 1h10:31.238 2. USA + 7.870 3. Australia + 33.619 4. Netherlands + 35.873 5. Mexico + 40.321 6. Italy + 42.616 7. Great Britain + 54.333 8. Switzerland + 59.382 9. China + 1:29.659 10. Indonesia + 1:37.489 11. New Zealand + 1:49.139 12. Brazil + 1 Lap 13. Canada + 1 Lap 14. Ireland + 1 Lap 15. Greece + 1 Lap 16. Singapore + 1 Lap 17. Malaysia + 4 Laps 18. India + 7 Laps 19. France + 10 Laps 20. Czech Republic + 16 Laps 21. Lebanon + 23 Laps 22. Pakistan + 24 Laps 23. South Africa Fastest lap: Malaysia (Alex Yoong), 1:29.989 on lap 36