Belgium had a wealth of ball possession but played too slow to create chances. Bosnia scored at their first attempt, as Edin Dzeko managed a well-placed header to beat goalkeeper Thibaut Courtois.
The Red Devils, playing in the Brussels King Boudewijn Stadium, had to work hard against a well-organised Bosnia, but managed to equalise when Manchester United's Marouane Fellaini headed home a Kevin De Bruyne corner on 23 minutes, with De Bruyne himself making it 2-1 with a sharp turn and powerful strike.
Bosnia became more dangerous after the break and Courtois had to stay focused to intervene a couple of times. Eden Hazard eventually sealed the Belgian win with a penalty after the break (3-1).
Wales still top the group with 17 points after a 1-0 victory in Cyprus. Belgium are 3 points behind. The top-3 automatically go to Euro 2016 in France next year.
Belgium were under pressure
Belgium desperately needed the win after the defeat in Wales. The pressure was on - the morning press had headlines such as "no excuses anymore" and "this is the moment to do it" - and coach Marc Wilmots was relieved with the win, though he admitted that Bosnia came back strong after the break.
Belgium next travel to Cyprus, while Wales host Israel. Bosnia next face Andorra and Wales. "We will fight until the end", Bosnia coach Mehmed Bazdarevic said about his team's chances.
8 Belgians playing in England
The Belgian line-up included no fewer than 8 players from English clubs:
- Thibaut Courtois (Chelsea)
- Toby Alderweireld (Tottenham), Vincent Kompany (Manchester City), Thomas Vermaelen (Barcelona), Jan Vertonghen (Tottenham)
- Axel Witsel (Zenit), Radja Nainggolan (AS Roma), Marouane Fellaini (Manchester United)
- Kevin De Bruyne (Manchester City), Romelu Lukaku (Everton), Eden Hazard (Chelsea)