The Australian, second on the starting grid, passed world champion Sebastian Vettel for the lead after 30 of the 71 laps when his team mate was apparently wrestling with a gearbox problem.
German Vettel, who wrapped up his second title last month with four races to spare, finished second — 16.9 seconds behind — and ahead of McLaren’s Jenson Button.
The win was Webber’s first since Hungary in August 2010, 26 races ago, and the seventh of his career.
“Fantastic Mark, well done. You’ve won the Brazilian Grand Prix again,” team boss Christian Horner told the 35-year-old, a winner at anti-clockwise Interlagos in 2009, over the team radio after he took the chequered flag.
“Yep, thanks guys,” was Webber’s deadpan response, in marked contrast to the excited whoops and screams that have marked every Vettel win this year.
Vettel, who started from a record 15th pole of the season and was chasing a 12th win in 19 races, posted a series of fastest laps after Webber had gone past but the Australian would not let victory slip through his hands.
He turned the timing screens purple on the penultimate lap and then went even faster on the last, despite his race engineer telling him he had the quickest lap in the bag and “you don’t need any more.”
“It would have been nice to have had a race with Sebastian all the way through,” said Webber who sprayed the champagne with genuine enthusiasm nonetheless.
“It’s a win that you’ll take. That’s how motorsport goes sometimes.”
Button, the 2009 world champion, sealed second place in the overall standings ahead of Webber after being passed by Ferrari’s Fernando Alonso with a breathtaking move early on but seizing back the place with nine laps to go.
“Bring on 2012,” said Button after thanking his team for all their efforts.
Alonso, who won both his titles with Renault at Interlagos, finished fourth.
With the two Red Bulls pulling away cleanly from the start, and both titles already long decided, the main suspense was created by the weather — with rain threatening but never falling — and Vettel’s dodgy gearbox.
The team had warned the 24-year-old, who suffered his first retirement of the year in the previous race in Abu Dhabi, early on that he had a problem.
“I think it was a great end to the season,” said Vettel who crossed the line a comfortable 10.6 seconds ahead of Button.
McLaren’s Lewis Hamilton also suffered gearbox woes but his gave out shortly after he was engaged in a lively battle with Ferrari foe Felipe Massa, with whom he has clashed repeatedly this season, for fifth place.
The Briton slowed, pulled over on to the wide runoff and parked up out of harm’s way.
“I think it’s been an interesting year. Today I gave it my all. I enjoyed the race and it’s a little bit unfortunate that we weren’t able to get extra points,” said Hamilton.
“I was challenging Felipe at the end and was hoping I could get him but the gearbox didn’t last. It’s been a long year and I’m looking forward to a little bit of downtime with family and friends.”
Massa, twice a winner of his home race, finished fifth ahead of Germany’s Adrian Sutil for Force India.
Nico Rosberg was seventh for Mercedes, Briton Paul di Resta eighth for Force India while Japan’s Kamui Kobayashi and Russian Vitaly Petrov filled the last two scoring positions for Sauber and Renault respectively.
Brazilian veteran Rubens Barrichello waved to the crowd on his slowing down lap after finishing 14th for Williams in what could be his final race in Formula One. — Reuters