The Reds got themselves back into the match in the second half through a Christophe Berra own goal, cancelling out Daryl Murphy’s opener.
But a deflected Freddie Sears effort six minutes from time was enough to hand the Tractor Boys a vital three points in their push for a play-off place.
Dougie Freedman made three changes to the side that drew with Blackburn last weekend. Aston Villa loanee Gary Gardner was missing with a knock, while Mo Barrow was unavailable after being recalled from his loan by Swansea. Danny Fox dropped to the bench alongside youngsters Tyler Walker and Jorge Grant.
Michael Mancienne, Chuba Akpom and Dexter Blackstock were brought into the starting line-up, while Ipswich manager Mick McCarthy named former Red Luke Chambers as his skipper. Paul Anderson was on the bench.
Blackstock had a chance to put his side ahead within two minutes after Cole Skuse’s botched clearance presented him with the ball on the edge of Ipswich’s area. The striker could only send the ball straight at Ipswich keeper Bartosz Bialkowski.
The Reds had made a bright start and threatened again on nine minutes when Ben Osborn struck the ball goalwards from 25 yards. The midfielder’s connection was sweet but Bialkowski showed good hands to hold on.
There was nothing Bialkowski’s opposite number could do on 22 minutes however as the home side took the lead through Murphy. The striker received a lay-off from Freddie Sears in the area and gave Karl Darlow no chance with a hard, low strike.
Blackstock led the charge for a response, brilliantly closing down Chambers in the Ipswich area before crossing the ball to the back post. Tyrone Mings made a vital intervention at the back post.
Both sides had opportunities on the stroke of half-time, Murphy drawing a comfortable save from Darlow with a placed effort after a strong run before Bialkowski made a superb fingertip save to push Henri Lansbury’s shot over the bar.
There were no changes for either side at the break but there was an alteration to the scoreline eight minutes after the restart.
Akpom did brilliantly to turn away from three men before unleashing a stinging drive towards goal. Bialkowski pushed the ball away but Forest kept the move alive. Osborn crossed from the left and Berra got his clearance all wrong, sliding the ball into his own net from six yards.
Forest’s pressure was building and Akpom was emerging as a central figure of their attacking play. He was left frustrated by Stephen Hunt, who made an excellent block after the ball broke for the striker in the area. Moments later, Akpom received the ball at his feet from Osborn, spun on to his left and curled the ball a yard off-target.
It had been an unusually quiet afternoon from Michail Antonio, but the winger came close to putting his side ahead in spectacular fashion on the hour. He picked the ball up in midfield and guided it towards the top corner from 30 yards, but Bialkowski dived to his left to push the ball away.
Freedman was forced into making his first change shortly afterwards when Danny Fox replaced the hobbling Eric Lichaj, before McCarthy sent on Luke Varney in place of Hunt.
And the forward had an excellent chance to put his side in front when he was picked out by Teddy Bishop’s cross. He could only glance the ball across goal and wide of the far post.
A win for Ipswich would almost guarantee them a play-off place but Forest were doing well to restrict their opportunities. It wasn’t until eight minutes from time that the Tractor Boys next showed their threat. Anderson, on for Bishop, provided the cross for Varney to direct another header towards goal. The ball landed on the roof of the net.
Two minutes later, however, Town had the ball in the net. Sears’ shot saw the ball deflect up off Mancienne, past the helpless Darlow, on to the inside of the post and over the line.
Freedman, who had earlier introduced Chris Burke in place of Akpom, sent Walker on for Osborn as The Reds looked to salvage something from the match.
Four minutes were added on at the end of the match, in the third of which Jamaal Lascelles beat Bialkowski to Lansbury’s free kick. It was a tough chance for the defender, who could only direct the ball wide with his head, and the match ended 2-1 to the hosts.
Forest: Darlow, Lichaj (Fox 62'), Lascelles, Hobbs, Mancienne, Antonio, Lansbury, Vaughan, Osborn (Walker 86'), Blackstock, Akpom (C.Burke 80')
Subs not used: Evtimov, Kane, Paterson, Grant
Goal: Berra (og) 53'
: Bialkowski, Mings, Chambers, Berra, Smith, Parr (Bru 68'), S.Hunt (Varney 64'), Skuse, Bishop (Anderson 79'), Murphy, Sears
Subs not used: Gerken, Fryers, Hewitt, Ambrose
Goals: Murphy 22', Sears 84'
Booking: Anderson 90'
Referee: Graham Salisbury
Attendance: 25,199 (1,051 away)