Williams’ Valtteri Bottas and Felipe Massa were seventh and tenth respectively, split by the McLarens of Fernando Alonso and Jenson Button.
The still green track surface - combined with sprinklings of rain culminating in a late shower - made for some tricky conditions at the Autodromo Hermanos Rodriguez, and there were several spins and off-moments.
Less than five minutes into the session, as Kimi Raikkonen headed the times with 1m 25.820s, Verstappen went from hero to zero when he got his Toro Rosso sideways exiting Turn 16 and clattered into the barriers. Cue the red flags and exit the Dutchman with left-hand suspension damage.
Rosberg and Vettel squabbled over fastest time until Bottas spun his Williams entering Turn 1 and took his front wing off on the outer wall before limping back to the pits.
Rosberg did 1m 24.682s and Vettel 1m 24.639s, before Hamilton finally got going with 1m 24.016s and Kvyat went second with 1m 24.239s. It was the morning session all over again, as the track kept improving. Vettel then had a minor drama as he slid wide coming into the pits, before Hamilton spun at Turn 4.
After the first half hour Hamilton led Kvyat, Vettel, Rosberg, Ricciardo, local hero Sergio Perez in the Force India, Bottas, the Lotus cars of Pastor Maldonado and Romain Grosjean and Alonso, as Raikkonen reported rain spots on his visor.
Perez was the first man to run Pirelli’s soft-compound tyres, at the hour mark, but it was team mate Nico Hulkenberg who went fastest on them with 1m 23.290s from Toro Rosso’s Carlos Sainz on 1m 23.987s. Overhead, it was getting darker, as Perez, Grosjean and Sainz traded second fastest time.
Once the Mercedes came out, it was Rosberg versus Hamilton again. The German lapped in 1m 22.272s to go fastest but was supplanted immediately by the Englishman with 1m 21.961s, but whereas Hamilton did not get a decent second lap out of his tyres Rosberg did, going back on top with 1m 21.531s. Behind the Silver Arrows, Vettel jumped to third just ahead of Raikkonen, 1m 22.334s, to 1m 22.399s. The recovered Bottas was fifth on 1m 22.721s as Alonso sprang to a startling sixth for McLaren with 1m 22.993s before Kvyat pushed him back with 1m 22.885s.
It was spitting with rain quite heavily round the track as the final half hour approached, but Ricciardo was able to displace Bottas with 1m 22.468s to go fifth. Then, as Kvyat leapt to second with 1m 21.776s, the Australian went third with 1m 21.868s.
Curiously, it was wet in turns 1 to 6, without adversely affecting lap times. The red flag did, however, momentarily, when Grosjean’s Lotus ground to a halt at Turn 10 with 27 minutes left and had to be removed from the grass on the inside of the corner.
Thereafter, as the rain increased, only Vettel of the front-runners improved, to 1m 21.984s, but he stayed fifth. Button, however, hauled up from last, with deployment problems, to ninth fastest behind McLaren team mate Alonso with 1m 23.109s.