Ferrari claimed their first one-two finish for 15 Grands Prix - but it was not enough to prevent Lewis Hamilton from extending his world championship lead.
Kimi Raikkonen led home Ferrari team-mate Felipe Massa at the French Grand Prix after winning a pit-stop battle at Magny-Cours, with Hamilton having to settle for third.
This was Raikkonen's second victory for the Maranello marque - and 11th of his career - after opening up with a win at Melbourne, but he still trails Hamilton by 22 points, with Massa 17 adrift.
However, Raikkonen, criticised last week by Ferrari president Luca di Montezemolo for not showing his mettle this season, made a fine start in taking Hamilton on the run down to the first corner.
Hamilton, who had started on the front row alongside pole man Massa, was slow away - a rare error in what has been an almost flawless season.
But it was enough to allow Raikkonen to pass, and then it came down to the second pit stop of the 70-lap race.
Massa led at two-thirds distance on lap 43, but while his stop took nine seconds, Raikkonen - who came in three laps later - was just 7.8secs, allowing him to take the lead and the victory.
Behind Hamilton, Robert Kubica was a fine fourth on his return to BMW Sauber after missing the race in Indianapolis following his horror smash in Montreal.
Team-mate Nick Heidfeld was fifth, with the Renault of Giancarlo Fisichella sixth, Alonso seventh, and at long last a point - his first of the season - for Jenson Button in his Honda.
There were moments of drama, initially on lap one when the Toyota of Jarno Trulli ran into the Renault of Heikki Kovalainen.
Alonso, who had started from 10th due to a gearbox problem in qualifying, just managed to avoid running into the Finn who had spun and was facing the wrong way.