Just 0.083 seconds covered the top three at Barcelona, as Alonso's Ferrari split the Red Bulls of Vettel and Mark Webber.
After an early all-Mercedes battle for the top spot, it was Alonso and the Red Bulls that dominated the lead order through the low-fuel runs.
Webber kicked off the dice with a 1m23.112s after 22 minutes, but was deposed by Alonso on a 1m23.030s five minutes later.
When they switched to the softer medium tyres shortly afterwards, Webber reclaimed first place by 0.2s over Alonso, before Vettel jumped ahead of them both.
Alonso's retaliation managed to get him back in front of Webber, but Vettel remained just out of reach.
Kimi Raikkonen's Lotus and Felipe Massa's Ferrari completed the top five.
Lewis Hamilton spun his Mercedes at Turn 11 during the early runs, swiftly rejoining without problems and ultimately taking sixth ahead of team-mate Nico Rosberg.
Tyre wear was again high and there was a scare at Force India when Paul di Resta's left rear delaminated on the main straight, forcing the Scot to park on the grass. He was still 10th quickest, two places behind team-mate Adrian Sutil.
Jean-Eric Vergne split them, in a strong performance for Toro Rosso, which also had Daniel Ricciardo in 11th.
McLaren was only 12th and 13th with Jenson Button and Sergio Perez as it began to evaluate its major upgrade package, including a new front wing.