Ralf led from start to finish, taking the chequered flag 13.8 seconds ahead of his Colombian team mate Juan Pablo Montoya.
Formula One championship leader Michael Schumacher finished third for Ferrari, extending his overall advantage over McLaren's Kimi Raikkonen to eight points after the young Finn crossed the line in fourth place.
It was Ralf's sixth career win and, following his home triumph at the Nuerburgring last weekend, intensified the title battle with six grands prix remaining.
Schumacher has 64 points, Raikkonen 56 and Ralf 53.
Williams have now won three of the last four races and are just three points behind Ferrari in the constructors' championship.
McLaren's David Coulthard took fifth place, his race considerably slowed by a troubled third pitstop while he was running third.
The Scot pulled out before the fuel rig had been fully disconnected with the McLaren's rear wheel hitting the hose man, who gamely waved him on while lying on the ground.
Australian Mark Webber was sixth for Jaguar, ahead of Brazilian Rubens Barrichello in the second Ferrari. Olivier Panis, France's lone driver, collected the last point in his home grand prix for Toyota.
While French tyre supplier Michelin also celebrated a home win, there were glum faces at Renault after both their cars retired with blown engines.
"Everything was working very well from the beginning, I was keeping pace with the top teams," said Italian Jarno Trulli. "We still have to investigate what happened but for sure it was an engine problem."
Barrichello, who failed to start last year's race, after suffering a mechanical failure on the grid, had little more luck a year on.
The Brazilian spun at the start/finish line at the end of the first lap and went from eighth to last.
His charge back up the field enlivened an otherwise processional first half of the race.
More from rediff