Teammate Valtteri Bottas, third, and Red Bull’s Max Verstappen in second place, both start on the slower but longer-lasting tyres.
Mexican Sergio Perez starts fourth for Racing Point with Australian Daniel Ricciardo in fifth place for Renault and Carlos Sainz sixth for McLaren.
Neither Ferrari driver made it into the top 10 with Charles Leclerc, last year’s pole sitter, qualifying 11th and Vettel 15th and one place behind Williams’ George Russell.
“I lost the car in turn two. Then in turn four lost it again,” said Vettel, who was unhurt. “I was struggling, especially in the first sector. I tried to take a little bit more risk.”
Russia’s only representative on the grid, AlphaTauri’s Daniil Kvyat, starts 12th.
Hamilton switched to the softs to reach the final top-10 shootout after the second part of qualifying was red flagged with just over two minutes remaining and the Briton in 15th place.
He made it through, after getting around with a second to spare, and then grabbed pole with a track record time.
Hamilton said the soft, while good for a quick getaway, wears out around 10 times faster than the alternative tyre.
“That’s going to be a struggle,” he added. “I don’t know if that puts me onto a two-stop.”
“I’m going to sit down tonight to try to figure out if there’s a different kind of race I can do tomorrow to keep my position.”
Hamilton has won four times in Sochi, a track where Mercedes have been triumphant since the first race in 2014, and has six wins from nine races this season.
He is one win away from equalling Michael Schumacher’s all-time win record.
Bottas, 55 points behind in the standings, would be his main rival but Hamilton will be particularly wary of Verstappen.
“If we can have a decent start then the tow effect is very big around here so if I can get a good draft who knows what is going to happen into turn two,” said the Dutch 22-year-old.
“It’s going to be interesting anyway with the tyres as well tomorrow.”