Nico Rosberg, who started the race from pole position, was unable to match the pace of the cars immediately behind him, as Ferrari's Fernando Alonso and Vettel both cruised past his Mercedes in the opening laps.
However, Alonso was forced into an early pits stop when the DRS panel on his rear wing jammed open, leaving the Spaniard without the overtaking aid for the rest of the Grand Prix.
The reigning world champion opened up a comfortable lead at the front, while Paul di Resta moved into second in pursuit of his first podium in Formula 1.
Kimi Raikkonen lost places at the start of the race but slowly worked his way through the field, before jumping ahead of Di Resta in the opening round of pit-stops.
Five laps from the finish, Di Resta came under pressure from Raikkonen's Lotus teammate Romain Grosjean, and the Frenchman powered past on the pit straight.
1. Sebastian Vettel (Red Bull)
2. Kimi Raikkonen (Lotus)
3. Romain Grosjean (Lotus)
4. Paul di Resta (Force India)
5. Lewis Hamilton (Mercedes)
6. Sergio Perez (McLaren)
7. Mark Webber (Red Bull)
8. Fernando Alonso (Ferrari)
9. Nico Rosberg (Mercedes)
10. Jenson Button (McLaren)
11. Pastor Maldonado (Williams)
12. Nico Hulkenberg (Sauber)
13. Adrian Sutil (Force India)
14. Valtteri Bottas (Williams)
15. Felipe Massa (Ferrari)
16. Daniel Ricciardo (Toro Rosso)
17. Charles Pic (Caterham)
18. Esteban Guttierez (Sauber)
19. Jules Bianchi (Marussia)
20. Max Chilton (Marussia)
21. Giedo van der Garde (Caterham)
Not classified. Jean-Eric Vergne (Toro Rosso)