The 20-year-old Bahoken, who had not featured in a league game since September and had made only 10 league appearances since his debut two years ago, put the home team ahead in the 12th minute from close range from Eric Bautheac's cross.
He doubled the lead 12 minutes later, tapping the ball in after Luigi Bruins hit the post.
Nice controlled the game thereafter with Montpellier creating their best chance with three minutes to go when Younes Belhanda struck the woodwork.
Victory lifted Nice up to fifth, level with fourth-placed St Etienne on 48 points, one behind Marseille, who occupy the third and last Champions League qualifying berth and visit second-placed Lyon, on 52, later on Sunday.
"Obviously, it's been a great reaction after (last weekend's 4-0 loss at) St Etienne. It was important to show that it was just a mishap," Nice's coach Claude Puel said.
Bahoken, who suffered a broken fibula during training in October and served a three-game ban shortly after returning to action with the reserve team, enjoyed his unexpected chance.
"Before the game, I never thought it would have gone this way," said the forward, who has become the latest example of Nice's successful youth policy after the 16-year-old Neal Maupay, who has made 14 appearances and scored three goals so far in Ligue 1.
Bordeaux moved above Lorient into ninth with a 1-0 home win over Bastia. Tidiane Diabate hit a 57th-minute winner for Les Girondins.
Paris St Germain top the table with 57 points after they defeated bottom club Nancy 2-1 at home on Saturday thanks to Zlatan Ibrahimovic's 23rd and 24th league goals.
Champions Montpellier stay seventh with 44 points.