Lewis Hamilton has won the Mexican Formula One Grand Prix to cut Mercedes team mate Nico Rosberg's lead to 19 points and prevent the German taking his first title with two races to spare.
The pole-to-flag victory was the triple world champion's eighth of the season and put him level with France's Alain Prost in the all-time lists with 51 career victories.
Only Michael Schumacher (91) has won more.
Rosberg, who would have clinched the title had he won and Hamilton finished 10th or lower, finished 8.354 seconds behind to anchor champions Mercedes to their sixth one-two finish of the season.
The German can clinch the title if he wins the penultimate round at Sao Paulo's Interlagos circuit in Brazil in two weeks' time.
"Lewis has been too fast this weekend," said Rosberg. "I just have to accept second place."
Ferrari's Sebastian Vettel took third place when Red Bull's Dutch teenager Max Verstappen, who provided much of the afternoon's entertainment, was penalised after the chequered flag for gaining an advantage when going off the track.
"He has to let me go, he has to let me go," Vettel exclaimed furiously over the team radio as Verstappen refused to concede the place.
The German pulled level with the Red Bull driver after they crossed the line, raising his finger and wagging it theatrically.
Australian Daniel Ricciardo finished fourth for Red Bull, moved up by Verstappen's penalty with the Dutchman classified fifth.
Ferrari's Kimi Raikkonen finished sixth, Nico Hulkenberg seventh for Force India and the Williams pairing of Valtteri Bottas and Felipe Massa eighth and ninth.
Mexican Sergio Perez took the final point for Force India in 10th place.