With the scores tied at 22-22 and the full-time hooter having already sounded following a foul on Majda Mehmedovic, Bulatovic stepped up and coolly threw home to spark mass scenes of celebration.
Neither side was able to gain any momentum and they traded goals throughout, with the scoreboard reading 6-6 after 12 minutes and then 13-13 at half-time. But France made their move after the break and soon opened up a three-goal lead.
Montenegro were always chasing the game and they had the chance to draw it level at 19-19, but Milena Knezevic missed a penalty.
However, they kept going and finally levelled at 21-21 with four minutes remaining thanks to Bojana Popovic's powerful finish and the game was in the balance.
Montenegro took the lead for the first time since the 12th minute when Bulatovic thundered in a left-handed throw with just 90 seconds remaining.
France levelled with a penalty with 50 seconds to go, giving Montenegro one more chance to attack and then when Mehmedovic was bundled over in the final seconds they were awarded a penalty of their own.
With the hooter already gone, this was the chance for Bulatovic to be a hero and she stepped up to convert and send her team-mates wild.
Their opponents in the last four, Spain, overcame Croatia 25-22 in their quarter-final.
It was tied at 10-10 after 23 minutes, but two successive goals from Spain in the final 60 seconds of the first period gave them a 13-12 lead at the interval.
Croatia turned that around, though, with a strong start to the second half to lead by two before Spain flexed their muscles and threw in five of the next six goals to give them the advantage.
And they were never going to let that slip, holding a three-goal cushion for much of the final 10 minutes, with Elisabeth Pinedo Saenz inspiring their win with seven goals.
Reigning Olympic champions Norway also made it through to the semis after a 21-19 success against Brazil.
Shortly after the start of the second half, it looked as if the Scandinavians' defence of the title they won in Beijing four years ago was fizzling out as they trailed by five goals.
But a fine comeback, inspired by two separate four-goal salvos, won them the match and a place in the last four against Republic of Korea, 24-23 winners over Russia.
It was a deserved success for Korea as they held the lead from the 10th minute.