Substitute Moore settled a tension-filled game with a neat finish from a superbly-worked free-kick to seal second place for Scott Parker’s men after two years in the second tier of English football.
Forest, who needed a win to leapfrog the Cherries in the table, will now have to try to end their 23-year top-flight exile via the play-offs.
Bournemouth started the game brightly with Philip Billing forcing a good save from Forest goalkeeper Brice Samba in only the fourth minute.
Billing’s curling effort – after cutting in from the left – looked destined for the far corner before Samba flung himself down to push the ball behind for a corner.
The Cherries received a pre-match boost when their Wales midfielder David Brooks announced on social media that he was cancer free.
Brooks was given a standing ovation from the home fans in the seventh minute – in honour of their number seven, who was watching on from the executive boxes.
Forest should have taken the lead in the ninth minute when Djed Spence set Sam Surridge through on goal with a sublime defence-splitting pass.
Surridge, a product of Bournemouth’s youth academy, let his former side off the hook by hammering his shot against the crossbar with goalkeeper Mark Travers beaten.
Bournemouth had a massive let off three minutes before half-time when Travers brought down Surridge inside the 18-yard box.
Travers was saved from conceding a penalty by the assistant referee’s offside flag, but TV replays showed Surridge had timed his run to perfection.
Bournemouth had the first meaningful effort of the second half when top-scorer Dominic Solanke fired into the side-netting from Ryan Christie’s through-ball.
The home side were forced into a change on the hour when midfielder Jefferson Lerma hobbled off to be replaced by striker Moore.
Billing came close to breaking the deadlock in the 66th minute after outmuscling Ryan Yates on the edge of his own penalty area, but could only fire against the legs of Samba from a tight angle.
Moments later former Bournemouth captain Steve Cook made a heroic block to guide Christie’s effort away from goal after the Scotland international had broken free in the area.
The Cherries were by now firmly on top and Samba was called into action again 20 minutes from time to push away Jaidon Anthony’s stinging effort.
The home side got the goal their efforts deserved seven minutes from time.
Jordan Zemura’s mazy run drew a foul on the edge of the penalty area and Billing rolled a free-kick cleverly into the path of Moore who coolly fired the ball into the far corner.
It was only the Wales international’s third goal of an injury-ravaged Bournemouth career since his January transfer from Cardiff.
The home fans spilled onto the pitch at full-time after their side survived eight long minutes of injury time to seal their top-flight comeback.