Toyota's Jarno Trulli, who started the race in second place had to retire in the 21st lap with engine trouble after having fallen behind through two bad pit stops.
Alonso's pit stop on the 24th lap then proved disastrous as pit crew struggled to change the left front tyre which had previously been damaged in a slight collision.
The Spaniard rejoined the race in 14th place - far off the pace, but had to give up shortly afterwards with a wheel problem.
Fisichella and Raikkonen both pitted for the last time in the 30th lap with the Ferrari again managing to come out fractionally first, but then failing to open up any real gap.
Vettel took over the lead when the two leading cars went into the pits and the young German tried to use the open lane to his advantage to gain some ground on the leading cars.
He managed to come out ahead of BMW Robert Kubica in third after his final pit stop and then clawed his way closer to the two leading cars, but in the end simply ran out of time to overtake Fisichella or Raikkonen.
For Raikkonen the victory was the first since he won in Spain in April last year. 'It has not been an easy year for us. We have been lagging behind the top teams since the first race. Getting a win here was just perfect as it has been a long time since we last won.'
Kubica finished fourth ahead of his team-mate Heidfeld, while Heikki Kovalainen in a McLaren took sixth place from Brawn GP's Rubens Barrichello who managed to cross the finishing line even
though his car was leaking oil for the final laps.
The final championship point went to German Nico Rosberg in a Williams.
Button maintains his lead with 72 points from team-mate Rubens Barrichello, who has 56 points. Vettel is third with 54 points.
Vettel said that the championship is wide open. 'This championship is a bit crazy. When I was a little boy and followed the championship it was always a little bit boring. You always knew who would be competitive.
'This year it is different. Force India were very competitive this week and I think will be strong in Monza. So it shows that you have to be consistent. Everything is possible, we are here to fight.'
The next race is the Italian Grand Prix in Monza on September 13.