Lewis Hamilton won the Mercedes intra-team battle as he set a 1:36.403 at the Sochi Autodrom to lead the way in final practice.
In a session where many drivers struggled to keep their cars on the track, Sebastian Vettel, Max Verstappen, Lewis Hamilton and Jolyon Palmer all had offs at Turn 4 in the first 10 minutes.
But it was Sergio Perez who created the most drama – and over very little.
The Virtual Safety Car was deployed when the Mexican racer appeared to have tagged the barrier at Turn 13. However, replays showed he had just gone in too hot at the corner and while trying to put in a 3-point turn he ran out of run-off and couldn't find the reserve gear.
The marshals gave him a hand and Perez was back on the track with nothing more than a tiny scrape on the front wing of his Force India.
Force India tweeted: "Checo gives a demonstration of the limitations of the turning angle of modern Formula One cars. Friendly marshals push him back on his way."
Moments later Nico Rosberg got it wrong at Turn 13 as well but he at least found reserve and was able to get himself out of the run-off.
The German quickly shook off his moment to go quickest on the super-soft tyres with a 1:37.722 while Hamilton was second, 0.495s down. Rosberg, though, ran wide at the final corner on his way to the P1 time. With all four wheels off the track he would have risked having that time deleted if this was qualifying.
Hamilton hit back with a 1:37.325 to overhaul his team-mate by 0.397s only for Rosberg to respond with a 1:37.224. That puts him 0.101s up on the Brit.
Heading out later for qualifying sims, Rosberg upped the pace to a 1:36.783 and then a 1:36.471 but Hamilton came back in the final minutes with a 1:36.403 to take P1 by 0.068s. It was a new fastest lap record.
Sebastian Vettel, who spent the first half of the session putting in 23 laps on a set of super-soft tyres as he looked to make up for losing track-time on Friday, was third quickest. The German was 0.604s off the pace.
Kimi Raikkonen was fourth quickest ahead of Felipe Massa, Valtteri Bottas and Verstappen. Jenson Button slotted his McLaren up into eighth place, 1.857s down.
Carlos Sainz and Sergio Perez completed the top ten.
1 Lewis Hamilton Mercedes 1:36.403 17 laps
2 Nico Rosberg Mercedes 1:36.471 +0.068 22 laps
3 Sebastian Vettel Ferrari 1:37.007 0.604 28 laps
4 Kimi Raikkonen Ferrari 1:37.727 1.324 14 laps
5 Felipe Massa Williams 1:37.918 1.515 16 laps
6 Valtteri Bottas Williams 1:37.985 1.582 16 laps
7 Max Verstappen Toro Rosso 1:38.133 1.730 22 laps
8 Jenson Button McLaren 1:38.260 1.857 14 laps
9 Carlos Sainz Jr Toro Rosso 1:38.465 2.062 25 laps
10 Sergio Perez Force India 1:38.542 2.139 18 laps
11 Daniel Ricciardo Red Bull Racing 1:38.622 2.219 23 laps
12 Fernando Alonso McLaren 1:38.633 2.230 12 laps
13 Daniil Kvyat Red Bull Racing 1:39.047 2.644 15 laps
14 Nico Hulkenberg Force India 1:39.162 2.759 16 laps
15 Esteban Gutierrez aas F1 Team 1:39.230 2.827 18 laps
16 Kevin Magnussen Renault F1 Team 1:39.238 2.835 16 laps
17 Romain Grosjean Haas F1 Team 1:39.239 2.836 15 laps
18 Jolyon Palmer Renault F1 Team 1:39.589 3.186 19 laps
19 Rio Haryanto Manor Racing 1:39.599 3.196 19 laps
20 Pascal Wehrlein Manor Racing 1:39.663 3.260 18 laps
21 Marcus Ericsson Sauber 1:39.740 3.337 23 laps
22 Felipe Nasr Sauber 1:39.898 3.495 19 laps