With chaos playing out behind them, Vettel flew through Eau Rouge and Raidillon to close onto the back of Hamilton onto the Kemmel Straight - where the pair were briefly four-abreast with the Force India cars of Sergio Perez and Esteban Ocon, who had started on the second row.
Vettel got the better of Hamilton, keeping the place as a safety car was called to clear up the carnage.
From there, the Ferrari car's strength in stable conditions came to the fore as Vettel twice opened up comfortable gaps to Hamilton, who seemed happy to keep his powder dry and bank valuable championship points.
Max Verstappen took perhaps the dullest podium finish of his career, making short work of Perez and Ocon before cruising a huge distance off the leading pair, while Valtteri Bottas fought back through the grid to take fourth, having perhaps wrecked his hopes of a podium by taking off his own front wing on the opening lap.
Victory for Vettel will come as a huge boost after seeing likely wins slip through his fingers in the wet of Germany and Hungary before the summer break.
Victory next week in Monza could give the Scuderia the momentum they need, with a Singapore track that Mercedes have typically struggled at also looming large.
After their incredible Saturday, Perez and Ocon finished fifth and sixth to take Racing Point Force India into ninth in the constructors' standings, just a point behind Sauber, who held onto eighth thanks to Marcus Ericsson securing the final points-paying place.
Romain Grosjean and Kevin Magnussen finished seventh and eighth to move Haas within six points of fourth-place Renault, with Pierre Gasly celebrating news of his 2019 promotion to Red Bull by taking a fourth points finish of the year for Toro Rosso in ninth.