Chances were few and far between in the early stages, with both teams packing the midfield and relying on pace on the break.
Bolton took the lead after 28 minutes when David Wheater headed a Petrov cross into the back of the net.
Blackburn so nearly levelled the match after 32 minutes with a thumping Yakubu header, but it drifted just wide in a lively period.
Bolton added their second of the afternoon after 35 minutes courtesy of another Wheater header, to edge into a comfortable half-time lead.
N'Zonzi's disappointment turned to jubilation moments later, however, as he headed a Morten Gamst Pedersen throw into the net.
Mark Davies might have extended Bolton's lead moments later, but he headed wide when he probably should have scored.
Steinsson might have added a third for Bolton after 72 minutes, but his effort was blocked by the lively Pedersen.
Blackburn were next to go close via Yakubu after 75 minutes, but he just could not find the bottom corner from close range.
The away side continued to search for the equaliser in the latter stages, but it wasn't to be, as Bolton secured the vital win.
Bolton have moved into 17th in the Premier League, while Blackburn remain 16th.