Lewis Grabban scored his 21st and 22nd goals of the season as fellow forward Yann Kermorgant also bagged a brace for the Cherries.
Halford grabbed a consolation for Forest midway through the second half, as Bournemouth's play-off dreams were also ended by other results.
Matt Ritchie had the first chance of the game in the second minute as he drilled an effort from just outside the box narrowly after being laid off by Kermorgant.
The Frenchman turned provider again eight minutes later when he lobbed a ball over the Forest defence, but Grabban failed to send his volley home.
While the hosts dominated the early possession, Forest provided a chance of their own when Stephen McLaughlin fashioned a shot on the edge of the box, but did not test Lee Camp.
In the 39th minute the visitors had their best chance of the half but Matt Derbyshire's shot was hit straight at former Forest 'keeper Camp, after being played through one-on-one by Greg Halford.
Bournemouth finally made all their possession count two minutes before half-time when Kermorgant bundled his header in.
It was the striker's eighth goal - since joining the Cherries from Charlton in January - after a fantastic cross from the by-line from Simon Francis.
Grabban added a second two minutes into the second half when he swept in from inside the six-yard box.
The former Rotherham man was set up after Eunan O'Kane failed to get a shot away when twisting in the box.
Dorus De Vries was nearly caught out in the 49th minute by an audacious chipped effort from Kermorgant, who struck from 35 yards after seeing the keeper off his line.
Halford got the visitors back into the game with a powerful header, after connecting with Ben Osborn's pin-point free-kick from the left.
In the 61st minute Ritchie fired wide from inside the penalty box after Grabban threaded him a shooting opportunity as the home side tried to regain their advantage.
The visitors should have drawn level in the 68th minute when Halford somehow cleared the crossbar from close range after a corner from Osborn.
Bournemouth scored their third with 20 minutes to go when referee Simon Hooper awarded a penalty when substitute Gonzalo Jara stuck a leg out to bring down Marc Pugh.
Grabban stepped up to take the spot-kick, and sent De Vries the wrong way to notch his 22nd goal of the campaign.
Kermorgant made the scoreline more emphatic in the last minute when blasted in after good work from Tokelo Rantie and Ryan Fraser.