Vettel looked to be in big trouble after he was bumped into shortly after the lap and spun around, dropping to last place before being able to turn his car around and start a difficult pursuit. But he steadily worked his way up the field and did what he needed to hold off Ferrari's Fernando Alonso, the only other driver contending for the title.
Alonso had a superb start on a hectic first lap at Interlagos and finished second, but that wasn't enough to erase Vettel's 13-point lead in the standings, as the German became the youngest three-time champion in Formula One at age 25.
Alonso's Ferrari teammate Felipe Massa was third in front of his home crowd, and cried on the podium after finishing a difficult season on a high.
Lewis Hamilton was leading in his final race with McLaren when Nico Hulkenberg crashed into him while trying to make a pass on a slippery track with 17 laps to go.
Seven-time world champion Michael Schumacher, F1's most successful driver, finished seventh in his final race after 19 seasons.
The race was dramatic from the start but had an anticlimactic finish behind the safety car after Paul Di Resta crashed just before the final lap. Vettel is the first driver with three titles in a row since Schumacher won five straight from 2000-04. The only other driver to win at least three consecutive championships was Juan Manuel Fangio from 1954-57.
He needed to finish fourth or better to clinch the title regardless of where Alonso crossed the line. The Spaniard would only have a chance by finishing on the podium.
It rained on and off throughout the race at Interlagos, making conditions difficult and forcing drivers to come in and out of the pits several times.
It was dry at the start, but it was a chaotic first lap, and a perfect one for Alonso. The Spaniard moved from seventh to fifth after the first corner, while Vettel dropped from fourth to seventh. Vettel then was hit from behind by the Williams of Bruno Senna and spun at the end of the back straight, dropping to last place after sitting backward on the track with several cars having to go around him.
ALONSO FINIsHES SECOND
Moments later, Alonso passed Felipe Massa and Vettel's Red Bull teammate Mark Webber at the same time to move to third. Had they stayed in those positions, Alonso would have won the title.
But the Spaniard lost a position after locking his front tire and briefly running off the track at the first corner, while Vettel, without significant damage to his car, began making his way back to the front, easily passing the slower cars near the end of the pack. He was already sixth by lap 15.
Alonso was fourth and Vettel fifth when the safety car was deployed for debris on the track eight laps later. Vettel then dropped to seventh at the halfway point of the 71-lap race, which still would have been good enough to defend his 13-point lead and clinch the title.
Alonso briefly had the title in his hands again after more rain fell with 14 laps to go. Red Bull lost time while putting the wet tires on Vettel's car, dropping him to 11th place, while Alonso moved into third. But after all cars pitted, Vettel was in sixth place, enough to keep the title.
Alonso moved to second after passing Massa, but he needed Vettel to drop a few more spots.
Hamilton started from pole position and kept his spot for a few laps before being overtaken by teammate Button on the sixth lap, and Hulkenberg got past the British driver on Lap 18.
History was beckoning the young German when he was locked in an intesne race-lead battle with Mercedes' bound Hamilton but an overtaking manoeuvre in lap 49 brought him acostly drive through penatly, spoiling his podium chances.
Nevertheless, it was a fantastic season for Hulkenberg, who will not be with Force India next season, as he finished 11th in the drivers standing with 63 points, just three behind Sauber's Sergio Perez, and 17 more than teammate Paul di Resta, who was 14th. Hulkenberg matched his second best result of the season as he had finished fifth at the European GP too.