Romelu Lukaku's 50th international goal broke the deadlock in Brussels on Thursday, and the striker set up Nacer Chadli for the second before Cristian Brolli's own goal made it 3-0.
Lukaku struck again, Andrea Grandoni deflected in Toby Alderweireld's shot and Youri Tielemans scored ahead of the interval, after which Roberto Martinez's side took their foot off the gas.
Christian Benteke, Yari Verschaeren and Timothy Castagne wrapped up the scoring and, with seven wins out of seven in Group I, Belgium are guaranteed to finish in the top two and can look forward to the European Championship.
Despite dominating, it took Belgium until the 28th minute to open the scoring, goalkeeper Simone Benedettini having had little to do amid a flurry of off-target efforts.
But when San Marino lost the ball in their own half, Lukaku and Tielemans swapped passes, with the Inter striker rifling in a powerful finish at the near post.
Benedettini was soon beaten twice again, Eden Hazard and Lukaku combining to set up Chadli for a curling 20-yard finish before Brolli unfortunately scored into his own goal.
A deflected drive from Lukaku and Grandoni's own goal from Alderweireld's shot preceded a fine strike from Tielemans that made it 6-0 before half-time as San Marino's early defensive resilience crumbled.
Dries Mertens hit the post on the hour mark as the tempo slowed to walking pace and Lukaku missed chances to claim the match ball before his substitution.
Lukaku's replacement Benteke struck with a shot from the edge of the box that deceived the luckless Benedettini before 18-year-old Verschaeren converted a penalty he won himself to score his first international goal.
Castagne smashed home a late ninth for the hosts, but San Marino were at least able to avoid conceding double figures as Benedettini denied Benteke in added time.
What does it mean? Euro 2020 planning starts now for Martinez
As the first team to book their place at the finals, Roberto Martinez can start thinking ahead to Belgium's campaign in next year's tournament. The top-ranked team in the world, Belgium will be expected to go far.
For San Marino, this game was always about retaining as much pride as possible. The last time they avoided defeat was back in 2014, when they earned a 0-0 draw at home to Estonia.
Record scorer Lukaku looks sharp
Already the top Belgium goalscorer of all time, Lukaku was bright in attack to continue his fine start to the season, having impressed with Inter since leaving Manchester United. Belgium initially found it hard to break down San Marino before Lukaku found a way through, pinching the ball back for his side and smashing in the opener.
Mertens fails to make his mark
San Marino at home should have been a golden chance for Napoli forward Mertens to add to his international tally. But he was barely involved, hitting the woodwork with a rare effort before he made way for teenager Verschaeren midway through the second half.
Martinez is likely to rotate his Belgium squad for Sunday's trip to Kazakhstan. San Marino travel to Scotland on the same day.