Michael Schumacher won a wet/dry Canadian Grand Prix as misfortune overcame his main rivals.
It was another consummate performance from the German in both sets of conditions. He was lucky to have all the major competition surgically removed by a combination of the stewards and a fast-starting Villeneuve, but pulled away steadily until his stop on lap 34.
The race changed complexion for everyone as rain started to fall, but Schumacher reacted quickest and pitted for rain tyres - to the cost of his team mate, who pitted the same lap to find no tyres out for him.
An incident on lap 47, where he understeered off the racetrack and skated over the grass - only to recover unabated - was the only real drama, the result of a slight brake niggle. "Because of the problems at the back we had guessed what to do about it and put the brake balance completely to the front and I locked up going into turn one," explained Schumacher.
"The car went sliding straight into the gravel trap so I decided it was such an easy gravel area I would carry on going through it rather that spin the car. But it wasn't really a worry."
The Ferrari star led away from the start, to be followed by David Coulthard. The Scot was left solely to challenge Schumacher in the early stages of the race, but a storm was already brewing - in more ways than one.
An incident before the race even started was to prove Coulthard's downfall. Unbeknown to the championship second-place man, the stewards were preparing to bring him in for a ten second stop-and-go-penalty.
Coulthard had discovered, to his anguish, that his clutch had developed a fault as the cars sat on the grid before the parade lap. He signalled to his crew, and as the thirty-second signal sounded, the crew were attempting to rectify the fault. The problem was solved just as the signal sounded, but Coulthard had already become a victim of the rule book.
Any competitor who experiences trouble as the fifteen second signal sounds must raise his arm and wait until the cars have left the grid before receiving assistance, according the regulations. This was unequivocally breached by the team, and so Coulthard would be set to drop from hero - second - to zero - ninth - in the space of a lap.
"I do not want to criticise anyone because the rules are the rules but the FIA should allow the stewards to show some common sense if someone does not gain an advantage," said Coulthard.
"This is what turns people off the sport. They were deprived of a race."
The Scot was deprived of more than just a race, as six points went begging. His complaints came to no avail, and he later admitted that he had, in fact, stalled the car.
The race changed complexion for everyone as rain started to fall, which it threatened to do on lap 22, and then did in earnest 22 laps later.
Further back, Jacques Villeneuve got a blinder of a getaway and leapt into fourth by the first turn. As Barrichello and Hakkinen argued over third into the first hairpin, the Canadian grabbed his opportunity, dived down the inside, and took third.
Barrichello sheepishly followed him past Hakkinen, leaving a trail of cars bottled up behind the BAR.
Villeneuve was driving his heart out at his home circuit, but his position meant that Schumacher was now twenty seconds ahead of the second placed man, and no-one would be able to match his pace until they got past the BAR Honda.
The BAR star was clearly becoming a hindrance to Barrichello and Hakkinen, but proving why he is rated so highly among team managers along the pitlane. By lap 24, the car beneath him would allow him to stay ahead no longer. Barrichello got a run at the BAR at the first chicane, but Villeneuve forced the Brazilian to do the hard work and held his line to put Barrichello on the outside for the second part of the corner.
Through the second chicane, both Ferrari and BAR were side by side, neither giving an inch. It was the kind of racing that F1 fans have experienced only sporadically for many years, and Villeneuve could uphold his honour as one of the sport's top dogs.
Barrichello, though, held his nerve, and dived down the inside into the Casino hairpin. This time, there was nothing the '97 Champion could do, and was forced to cede.
The early moves were being made by the Arrows drivers - light on fuel and enjoying good handling. Pedro de la Rosa took sixth from Heinz Harald Frentzen at the hairpin, then set about chasing Hakkinen's McLaren, but prodigious though the Supertec-powered Arrows is, the Spaniard could not work it close enough on the straight to challenge.
The Arrows were performing well in the early stages of the race, and Jos Verstappen echoed his team-mate's performance by taking tenth from Giancarlo Fisichella's Benetton.
The car was obviously well balanced and allowed the drivers to exploit its capabilities, as Verstappen's charge continued unabated even as the rain started to fall. Indeed, the Dutchman appeared to be in his element. De La Rosa, who was the first driver to stop, on lap 20, had a little more trouble adjusting to the conditions and was off the road several times.
He was off the road for good, and in the biggest possible way, when Pedro Diniz's Sauber simply drove him into the barriers along the back straight as his namesake tried to pass. It was a worrying incident, and one that the stewards were considering action over as the race ended.
Verstappen, on the other hand, kept on getting better the wetter the conditions got. With ten laps to go, he had shaken out in eighth place. After a tussle with Ralf Schumacher, the Dutchman latched onto the group of lower points-scoring places.
Quickly he caught and passed Alexander Wurz's Benetton, and set about chasing down Jarno Trulli in the Jordan. Within a couple of laps he was right with the Italian, and pulled ahead with a demon move from way back, into the third chicane on lap 59.
He held fifth until the end to score his first points of the year.
Barrichello, releasedafter passing Villeneuve, darted away and by lap 31 was lapping at the same pace as his team-mate. On lap 31 he had surpassed it, setting the fastest lap of the race thus far. He took the lead when Schumacher pitted, and pulled slowly away, his lighter fuel load working to good effect.
The Brazilian pitted on lap 43, but lost the chance of a win in doing so. The following lap, Schumacher was in for wets, and had the Ferrari pit crew fitted these on Barrichello's scheduled stop, he would have been uncatchable. It was not to be, however, and the precedence of his team mate within Ferrari played against him again.
When he himself pited for wet tyres on th following tour, the pits were not ready for him, having just waved Schumacher away. He was forced to wait while, agonizingly, tyres were brought out of the garage and the warmers removed.
He recovered to finish a strong second, having caught Schumacher in the final stages. He set fastest of the wet part of the race, and was clearly at one with the car and conditions. Another podium and six points was the reward.
Biggest beneficiary of the rain was Giancarlo Fisichella, who jumped out of nowhere - the lower reaches of the top ten, to be precise - to take third. Hakkinen was, in contrast the biggest loser, as he had just passed the pit entrance as the rain began to fall. In consequence, he had to crawl round a lap on slicks, and ended the race behind Fisichella, in fourth..
The World Championship has thus swung back in favour of Schumacher and Ferrari. He now has a 22 point lead over Coulthard, and 24 points over Hakkinen.
For full results, click here.
To see the autosport.com lap-by-lap coverage, click here.
And to read Adam Cooper's race analysis, click here.