Media playback is not supported on this device
Vettel dominated in soaking conditions that delayed the start of the final session by nearly an hour.
The world champion was 0.623 seconds quicker than Rosberg, with Alonso a further 0.437secs adrift.
Media playback is not supported on this device
Red Bull's Mark Webber starts his final F1 race fourth ahead of Mercedes' Lewis Hamilton and Lotus's Romain Grosjean.
Toro Rosso's Daniel Ricciardo and Jean-Eric Vergne qualified seventh and eighth with Ferrari's Felipe Massa ninth ahead of Sauber's Nico Hulkenberg.
Qualifying was wet throughout but a heavy downpour just after the second knock-out session forced organisers to delay the start of the top 10 shoot-out because of standing water on the track.
The second session had ended with a high-speed crash by McLaren's Sergio Perez, who lost control after running wide on to kerbs on the exit of Turn Five.
After a series of 10-minute delays, the drivers all ventured out on 'extreme' wet tyres to set 'banker' laps before coming in to change tyres when it became apparent conditions were suitable for 'intermediates'. They have a lower tread depth, but give drivers more speed if there is not a lot of standing water on the track.
Grosjean gambled on not even doing a lap on the 'extreme' tyres and the decision initially paid off when he went fastest on his first flying lap while his rivals were getting up to speed.
However, it meant the other drivers had the benefit of a drier track when they set their times on fresh tyres and Grosjean tumbled down the order.
First Webber beat him by just 0.15secs before Vettel crossed the line shortly afterwards following a scintillating lap in his team-mate's wheel tracks that put him 1.144secs clear of the Australian.
Media playback is not supported on this device
Rosberg then grabbed second place, pipping Hamilton just behind him by 0.122secs before Alonso beat both.
With the edge taken off the tyres, most could not improve on their second flying laps.
Only Grosjean, Webber and Rosberg managed faster times, and just Rosberg gained a position, leapfrogging Alonso to join Vettel on the front row.
"We got out and I was surprised how much of the water had gone," said Vettel. "I went to the intermediates and got a good lap straight away. It's great in these conditions to get it all right."
Alonso said he felt he could have beaten Rosberg to second place.
"I have mixed feelings, to be honest," said Alonso. "I am happy to be so high up on the grid finally because we normally start between seventh and 10th in the last few grands prix, which is not ideal.
"But I'm not totally happy with my lap. I went off at Turn Four, I was very late and missed the corner, it was very slippery. I exited eight tenths behind. [My pace] was not enough for pole position but it was enough for second place."
Scot Paul Di Resta qualified 12th in what may be his last race for Force India, and possibly even in F1 for the time being, as his future is uncertain because he has not yet lined up a drive for 2014.
Di Resta, whose team-mate Adrian Sutil will line up 16th, said: "Unfortunately the first set of tyres we put on in Q2 didn't really switch on. We got in and put a new set on but the conditions had already worsened.
"But to be P12, I've only done about six laps here all weekend, I'm pretty satisfied with that. Tomorrow, if it's dry, it'll be about who's done the best work in the simulator because there's been no dry running all weekend."
Perez ended up 14th, a place ahead of team-mate Jenson Button, the Mexican ensuring he ended the season 10-9 ahead on qualifying results despite McLaren deciding to drop him for Danish novice Kevin Magnussen for 2014.
Button said the team had paid the price for gambling on a relatively low-downforce set-up in the hope of being in better shape in the race.
2008 - Felipe Massa - Ferrari
2009 - Rubens Barrichello - Brawn
2010 - Nico Hulkenberg - Williams
2011 - Sebastian Vettel - Red Bull
2012 - Lewis Hamilton - McLaren
"We ran low downforce," Button said. "We felt it was working for us yesterday but unfortunately we did not run in the wettest conditions and we could not get tyre temperature today.
"On my final lap, I was 0.3secs up at Turn 13 and then I got to Turn 14 and there was a river running across the circuit. I lifted and that was 0.3secs gone."
Perez said: "I think the crash looked bigger than it was. The hit was not that big. I saw the damage to the front wing and suspension.
It [the weather] was getting worse and I was trying my best to find the lap time. The car was not performing at all. I tried to risk everything I could and it ended badly.
"The team made the decision they did. I hope I can stand here next year and say leaving McLaren was the best thing that could have happened to me."
Full qualifying results.
Red Bull's Sebastian Vettel beat Mercedes' Nico Rosberg and Ferrari's Fernando Alonso to pole position at the Brazilian Grand Prix.