Daniel Ricciardo and Red Bull’s mechanics, meanwhile, faced a race against time after his engine blew, putting them under the gun to fix it ahead of afternoon qualifying and salvage his weekend.
Vettel, the season points leader, put in a best lap of one minute and 33.018 seconds on a windy and wet Shanghai International Circuit, nearly a half second ahead of his Ferrari teammate Kimi Raikkonen.
In third was Valtteri Bottas of Mercedes, followed by Red Bull’s Max Verstappen.
Hamilton was next, more than a second off Vettel’s pace, after a messy session.
On a circuit still damp from overnight rain, the 33-year-old Briton twice ran onto water-logged artificial turf on the shoulder, spinning out wildly at one point.
Mercedes has vowed to go all-out for victory in Shanghai, where they won five of the last six, after Vettel stunned the champions with wins in the young season’s two earlier races in Australia and Bahrain.
Both Vettel and Hamilton are chasing a fifth world title this year.
Hamilton has won five times in Shanghai, more than any other driver, and Mercedes are hopeful they can get their error-plagued season back on track with a win this weekend.
Ricciardo, who was forced to retire in Bahrain due to mechanical problems, was staring down a second straight lost weekend after his engine belched flames and white smoke about halfway through Saturday’s practice.
Vettel raced to victory in Australia to open the Formula One season, following up with a tense triumph over Mercedes last weekend in Bahrain.
Ferrari have capitalised on a range of glitches afflicting the champions, from software bugs to communication problems and grid penalties.
Hamilton has said Ferrari are again the team to beat in Shanghai, and he and team principal Toto Wolff vowed Mercedes would bring their “A game”.
Download our app and read this and other great stories on the move. Available for Android and iOS.