Felipe Massa led a Ferrari one-two to win the French Grand Prix and take the lead in the Formula One championship for the first time.
Massa's third victory of the season, and eighth of his career, made the 27-year-old Sao Paulo driver the first Brazilian to lead the standings since the late triple champion Ayrton Senna in 1993.
Team-mate Kimi Raikkonen, the world champion who won at Magny-Cours last year, led from pole but was overtaken by Massa just after the halfway mark when his Ferrari slowed with a suspected exhaust problem.
Massa took the chequered flag 17.9 seconds clear of Raikkonen on an overcast and damp afternoon at the circuit in the heart of rural France.
Italy's Jarno Trulli gave Toyota, mourning the death of former team principal Ove Andersson, their first podium finish since the Australian Grand Prix of April, 2006, after holding off McLaren's Heikki Kovalainen in a thrilling chase to the line.
The two cars came close to banging wheels on the penultimate lap as Kovalainen tried in vain to pass.
Poland's Robert Kubica, the championship leader for BMW-Sauber before Sunday's race after winning in Canada, finished fifth with Red Bull's Australian Mark Webber sixth.
Renault's Brazilian rookie Nelson Piquet finally took his first point in Formula One, at the eighth attempt, with seventh place ahead of team-mate and double world champion Fernando Alonso in eighth.
Massa, becoming the fourth driver to lead the championship in the space of eight races, now has 48 points to Kubica's 46 with Raikkonen ending a two-race barren run to move up to third place with 43.
McLaren's Lewis Hamilton, who had been level with Massa in second place, finished 10th after starting 13th due to a ten-place penalty on the grid incurred for colliding with Raikkonen in the Canadian Grand Prix pit lane.
The 23-year-old suffered a further blow when he picked up a drive-through penalty after 13 laps that dropped him from ninth to 16th place.
Honda's Jenson Button was the only driver to retire from the race.
Result of French Grand Prix at Magny-Cours:
1 Felipe Massa (Brazil) Ferrari 1 hour 31:50.245 secs
2 Kimi Raikkonen (Finland) Ferrari +00:17.984
3 Jarno Trulli (Italy) Toyota 00:28.250
4 Heikki Kovalainen (Finland) McLaren 00:28.929
5 Robert Kubica (Poland) BMW Sauber 00:30.512
6 Mark Webber (Australia) RedBull - Renault 00:40.304
7 Nelson Piquet (Brazil) Renault 00:41.033
8 Fernando Alonso (Spain) Renault 00:43.372
9 David Coulthard (Britain) RedBull - Renault 00:51.072
10 Lewis Hamilton (Britain) McLaren 00:54.521