The German four-times world champion enjoyed the afternoon sunshine with a best lap of one minute 34.120 seconds -- 0.263 quicker than team mate Kimi Raikkonen and 0.709 clear of Mercedes's Lewis Hamilton.
Raikkonen had been fastest in the morning.
Valtteri Bottas, a close second in opening practice, was third in the afternoon for Mercedes and 0.670 off Vettel's pace, while team mate Hamilton was fourth.
Vettel leads Hamilton by seven points after winning two of three races this season. The Briton won in China.
Sochi's street circuit, winding around the landmark venues of the 2014 Olympic Park, has favoured Mercedes since its debut three years ago with the champions leading every lap of every race there.
Triple champion Hamilton won in 2014 and 2015 with now-retired team mate Nico Rosberg triumphant last year on his way to the title.
"This is a circuit that suits them," said Vettel, suggesting Mercedes had been hiding their true pace. "They will be strong tomorrow."
Hamilton said it had been a "bit of a difficult day" but rejected any suggestion of trickery.
"It's just Sebastian trying to blow smoke our way. Really, those guys are just very quick," he said.
"The Ferrari seemed very, very fast on the long runs, so we need to work out how we can improve our pace."
Raikkonen and Bottas also have good records in Sochi, however, with the 2007 world champion finishing third last year and his fellow Finn taking the first fastest lap of his Formula One career in 2014 when he also came third for Williams.
"We were learning about the tyres on long runs and short runs and it seems like over one lap we still have work to do to get the maximum out of the UltraSoft tyre -- that's our focus tonight," said Bottas.
Raikkonen said Ferrari were catching up but just how much remained to be seen.
"Are we at the same level as them (Mercedes)? I don’t know. It's not far off, let's put it that way," he had said on Thursday.
The morning session was halted briefly when the engine cover blew off Esteban Ocon's Force India, leaving debris for marshals to recover.
Russian reserve Sergey Sirotkin replaced Germany's Nico Hulkenberg at Renault for the opening session but the car broke down on track before he could do a timed lap and was pushed off by marshals.
Red Bull's Max Verstappen had problems in the afternoon, pulling over and complaining of a lack of power, while McLaren again struggled with Belgian rookie Stoffel Vandoorne already resigned to starting the race at the back after an engine change.
"This track is not one of our favourites, we knew coming here it was going to be a tough weekend so we will just try to make the best of it," said Verstappen.