Lewis Hamilton won a chaotic rain-hit Brazilian Grand Prix to take the Formula 1 title battle to a decider in Abu Dhabi.
The reigning world champion crossed the line 11.4 seconds ahead of Mercedes team-mate and title rival Nico Rosberg and reduced his deficit to 12 points with 25 available.
Red Bull's Max Verstappen pulled off a sensational drive - making up 13 positions in 16 laps to snatch third at Interlagos in a race that included two red flags and required the safety car on five occasions.
Heavy rain delayed the start by 10 minutes, with the conditions so treacherous that Romain Grosjean, who was due to start seventh, crashed on the way to the grid.
FIA race director Charlie Whiting elected to start the race behind the safety car, which stayed out for seven laps.
Hamilton pulled out a big lead over Rosberg immediately at the start proper, with Verstappen passing Kimi Raikkonen into the Senna S to snatch third.
Several drivers switched to intermediates but conditions remained tricky, as fifth-placed Sebastian Vettel proved by touching the white line at Juncao and spinning.
The safety car was called back out when Marcus Ericsson aquaplaned into the wall after touching the kerb on the inside of the final corner.
At the next restart on lap 20 of 71, Raikkonen aquaplaned on the main straight and slammed into the wall, prompting an almost immediate red flag.
After a 35-minute delay, the race restarted behind the safety car only to be red-flagged again eight slow laps later as the conditions failed to improve, leading to boos from the crowd.
It finally got back under way following a 27-minute stoppage and this time ran to the finish.
As it resumed, Verstappen pulled off a sensational pass around the outside of Rosberg at Turn 3 to take second.
The Dutchman also held a high-speed half-spin at the final corner without even losing a place to Rosberg.
But soon afterwards Red Bull chose to switch to intermediates, first with Daniel Ricciardo and then with Verstappen.
It proved the wrong call - Rosberg demonstrating how bad the weather still was as he had a half-spin out of Juncao without losing second - and when the safety car came out again following a crash for Felipe Massa, Red Bull chose to bring its drivers back in for wets.
Massa was in tears as he walked back to the pits, a Brazilian flag draped around his shoulders, in what will be his final home race.
The safety car came in for the last time with 15 laps to go, setting up a frantic finish as Verstappen fought his way up the field and the race finished just inside the two-hour limit.
A series of outside-line passes brought Verstappen from 16th to the podium, while Hamilton pulled clear of Rosberg up front to seal a third-straight win.
Sergio Perez finished fourth, followed by the recovering Vettel, who felt Verstappen pushed him off the track in the closing stages, and Carlos Sainz Jr.
Nico Hulkenberg was seventh, ahead of Ricciardo and Felipe Nasr, who scored Sauber's first points of the season and moved the team ahead of Manor into 10th in the constructors' championship. Manor ran in the points with Esteban Ocon for much of the afternoon but he eventually slipped to 12th.
Fernando Alonso completed the top 10 having been another spinner out of Juncao.
RESULTS - 71 LAPS:
|3||Max Verstappen||Red Bull/Renault||21.481s|
|4||Sergio Perez||Force India/Mercedes||25.346s|
|6||Carlos Sainz||Toro Rosso/Ferrari||29.160s|
|7||Nico Hulkenberg||Force India/Mercedes||-|
|8||Daniel Ricciardo||Red Bull/Renault||-|
|13||Daniil Kvyat||Toro Rosso/Ferrari||-|