The victory, which guaranteed the hosts at least second place in European Group A, was secured with two headers, Kevin De Bruyne from a Jan Vertonghen cross in the 13th minute and Marouane Fellaini from a De Bruyne corner on the hour.
Serbia's Aleksandar Kolarov pulled a goal back with a direct free kick in the 88th minute.
Much-fancied Belgium have not qualified for a major tournament in more than a decade but now lead the group by three points after Croatia lost 1-0 to Scotland in Zagreb.
- Sports & Recreation
- Kevin De Bruyne
- Marouane Fellaini
- Aleksandar Kolarov