Northern Ireland came out with renewed vigour in the second half, showing the intensity that O'Neill had demanded pre-match.
Straight from kick-off they spurned a good opportunity as Brodie Spencer charged down the left-hand side and stood the ball up for Dion Charles but, unmarked, he headed wide.
They almost gifted Belarus a goal moments later as Shea Charles slipped when attempting to clear a free-kick delivery into the box.
The ball fell to Aleksandr Martynovich, but he snatched at the chance and blazed over the crossbar.
The hosts eventually broke the deadlock on 50 minutes as the returning Ballard stooped to meet Shea Charles' corner at the back post to head past Lapoukhov.
They were then awarded a penalty on 63 minutes as Pechenin was penalised for a handball from Shea Charles' free-kick.
Dion Charles stepped up and confidently tucked home to double their advantage.
Northern Ireland continued to push in search of a third goal against a tiring Belarus side.
Price picked the ball up with time and space and unleashed a fierce shot which whistled just wide before substitute Jamie Reid volleyed over the crossbar.
Fellow substitute George Saville went close in injury time, weaving past his marker before seeing his powerful strike pushed away by Lapoukhov.
They were forced to settle for just two goals, but they did pick up another clean sheet, their sixth in nine fixtures this year, as they made it four wins from their last four home games.