Sebastian Vettel restored Ferrari pride with victory in the Brazilian Grand Prix on Sunday while newly-crowned four-times world champion Lewis Hamilton produced the drive of the day from last to fourth for Mercedes.
Hamilton, who clinched the title in Mexico two weeks ago, started from the pit lane after changes to his car following a crash in qualifying then began a thrilling charge through the field.
The Briton was already up to ninth after 10 laps, with the safety car deployed after opening lap collisions and led the race before the halfway stage as others pitted and he ran longer.
He finished only 5.4 seconds behind Vettel.
"It was fun. It was reminiscent of my karting days when I'd start at the back, particularly in my first year or two," said Hamilton, voted driver of the day by fans in an online poll.
"I messed up yesterday and put myself in the worst position," he added.
"Waking up this morning, my goal was really kind of just to redeem myself... I was trying to get back to third but just ran out of tyres at the end."
Mercedes team boss Toto Wolff described his stirring performance, with a series of overtakes, as "a champion's drive."
Valtteri Bottas, who had lined up on pole position for Mercedes, saw his hopes of overhauling Vettel for the runner-up position in the championship effectively disappear when he finished second.
The Finn lost the lead at the start to the German, who had the race under control from the first corner onwards on a sunny afternoon at Interlagos.
Vettel is now 22 points clear of Bottas with only the Abu Dhabi season-ender remaining. Hamilton's unassailable overall lead was reduced to 43.
It was the German's fifth win of the season, 47th of his career, and Ferrari's first success since Hungary at the end of July when Vettel was leading the championship.
Finland's Kimi Raikkonen held off Hamilton to take third place for Ferrari, the 2007 world champion's third podium finish in a row.
"I had a very good getaway but then I had a bit of wheel spin so I thought I had missed my chance," said Vettel of the key moment of the race.
"But I think Valtteri was struggling even more off the line so I was able to squeeze down the inside and I think I surprised him a little bit.
"After that we were pushing for the remaining laps flat out. I was trying everything to pull a bit of a gap and control the race from there."
Dutch 20-year-old Max Verstappen was fifth for Red Bull, and set the fastest lap after a second stop for fresh tyres, with Australian team mate Daniel Ricciardo sixth after fighting back from a first lap collision and spin.
Retiring Brazilian Felipe Massa said farewell to his home crowd with seventh place for Williams, the former Ferrari driver then ushered onto the podium to be interviewed in front of the crowd by retired compatriot Rubens Barrichello.
"Last year I had so much love and emotion from the people, but I didn't finish the race like I wanted," said the Brazilian, who had retired in 2016 only to be summoned back when Bottas left for Mercedes to replace retired champion Nico Rosberg.
"Today I finished the race like I wanted. That's why I did another year."
Massa's former Ferrari team mate Fernando Alonso, who applauded the 36-year-old after they parked up, was eighth for McLaren.
Force India's Sergio Perez was ninth and Germany's Nico Hulkenberg, lapped by the leader, took the final point for Renault.
The safety car was deployed for three laps after Ricciardo, McLaren's Stoffel Vandoorne and Haas's Kevin Magnussen tangled at the start.
Haas's Romain Grosjean and Force India's Esteban Ocon also collided at turn six, with the latter suffering his first single seater retirement since 2014.
"I knew this day would come at some stage, but I wasn’t expecting it to be today," said Ocon. "There was nothing I could do... he made a mistake and I suffered from it.
"Days like this happen but I hope it will be another three years before it happens again."