Max Verstappen showed pace to trouble the Mercedes drivers but did not complete his final qualifying simulation run for Red Bull.
Daniel Ricciardo finished 10th after setting the second and third fastest times in the two Friday practice sessions as a bizarre mirror issue appeared to cost him time on his final lap.
At the start of the one hour session, Lando Norris established the early benchmark at 1m36.423s on the medium tyres as he toured around the Sochi Autodrom solo in the opening minutes before most of the pack then emerged to set the initial qualifying simulation runs on the soft tyres.
Bottas was the first Mercedes driver to attempt a lap, but he had to abandon his initial effort after turning in with his left-side wheels on the kerbs at Turn 7, missing the apex and going deep and then off the track beyond the fast right-hander.
But Bottas went for another lap at the end of his abandoned tour and took the top spot with a 1m35.183s – still setting what was then the fastest third sector despite his tyres having done an extra lap.
Hamilton also had an off-track moment on his first run – after both Mercedes drivers had had trouble staying on the low-grip asphalt on Friday – as he ran wide and got caught on the large orange kerb beyond Turn 7, with his left-front tyre appearing…