"Finally the start worked for me," said Raikkonen.
"I think we are back where we expected to be."
The Ferraris, with the Brazilian Massa leading Raikkonen, pulled away early around the tight Circuit de Nevers, in a largely uneventful race in terms of overtaking and close racing.
However after the second set of pit stops Raikkonen found himself in the lead and never looked back, winning easily 2.414 seconds ahead of Massa and a further 29 seconds ahead of Hamilton in third.
"I lost the race today because of the traffic," said Massa.
"I was so disappointed with the traffic in the second stint."
Hamilton kept his amazing podium finish record intact for the season, as he now has two firsts, four seconds, and two thirds from his first eight Formula One grand prix races.
The 22-year-old Brit still leads the championship on 64 points ahead of McLaren-Mercedes teammate Fernando Alonso on 50, Massa on 47 and Raikkonen on 42.
"I didn't get the best start, all I saw was Kimi come flying past," said Hamilton, who was going for his third win in a row.
"But I've got good points for the championship, which is the key and I still think we can take it to them at the next race.
"You can't win every race, the important thing is to be consistent."
Frustrating race for Alonso
Alonso, who started from tenth on the grid due to a gearbox failure in the last round of qualifying on Saturday, finished a disappointing seventh, though not through lack of trying as he pushed his car to the limit in a frustrating outing.
The Spanish defending world champion first hounded German Nick Hiedfeld in his BMW Sauber for several laps without being able to pass, before duelling with Italy's Giancarlo Fisichella in his Renault in the closing stages.
Poland's Robert Kubica, returning after a horrific crash in Canada last month which forced him to miss the US Grand Prix, finished fourth for BMW Sauber while teammate Heidfeld was fifth, ahead of Fisichella in sixth.
Jenson Button scored Honda's first point of the season in eighth place, which will boost his confidence ahead of his home race at Silverstone next weekend.
Raikkonen's victory was his second of the season and 11th of his career.
The Finn had not been on the podium in his last four races and is still 22 points behind Hamilton in the title race.
Ferrari's last one-two was in Germany last July.