© Getty Images
Romelu Lukaku came close to opening the scoring just a couple of minutes into the tie when Eden Hazard made a run at the Bosnia goal before pulling it back for the striker, but Asmir Begovic made the save.
However, the hosts took the lead against the run of play just before the half-hour mark when Miralem Pjanic picked out Edin Dzeko with a low ball into the box, which the Manchester City man fired in with a volley.
Lukaku had a chance to level just before the break, but his hurried shot forced another solid save from Begovic in the Bosnia goal.
Belgium made a bright start to the second half, and were soon back on level terms when Nainggolan hit the ball first time from the edge of the box.
Belgium started to see more of the ball again inside the final 30 minutes, but De Bruyne had a shot blocked before blasting the rebound well high.
Dries Mertens came within a couple of inches of scoring a winner in the final minutes, but his shot from the edge of the box went just wide of the post, leaving the sides to share the points.
The result leaves Belgium third in the group, three points behind leaders Wales but with a game in hand, while Bosnia, who are yet to win, are fifth.