Max Verstappen was quickest in qualifying but his grid penalty for taking extra power-unit components dropped him back down the order, along with Charles Leclerc and a number of other drivers.
Lewis Hamilton could only guide his Mercedes to fourth position after being elevated from his poor qualifying result, leaving Sergio Perez on the front row and Fernando Alonso in third.
Where to watch the F1 Belgian Grand Prix
TV channel: The race will be shown live on Sky Sports F1 with coverage starting at 12.30pm, with the race start scheduled for 2pm BST.
Live stream: Sky Sports subscribers can also tune in online via the Sky Go app.
Free highlights: Channel 4 will be airing full free-to-air race highlights at 6.30pm on Sunday evening.
Live blog: You can keep up to date with the race as it happens via Standard Sport’s live blog.