Daryl Murphy’s 11th goal of the season gave Town a point at Portman Road and it would been three but for the acrobatics of Forest ‘keeper Karl Darlow.
Danny Collins gave the visitors the lead on four minutes and Town needed a big save from Dean Gerken to keep the score to just one before the break.
Blues were a different side in the second-half though and Darlow produced two brilliant saves to maintain his side’s lead until Murphy smashed home a header from close range 13 minutes from time.
Mick McCarthy made one change to the side that beat Derby in midweek, Cole Skuse recovering from a hip injury, with Anthony Wordsworth dropping out.
Just like against the Rams though, Town got off to the worst possible start with former Blues’ loanee Collins rising highest to head into the net from Daniel Fox’s corner on just four minutes.
Paul Anderson responded for Town with a volley that went just wide against his one of his former clubs, then another ex-City Ground player, Luke Chambers, was denied when he tried to force the ball in from a corner after Karl Darlow had failed to get distance with a punch.
Skuse opened up the Forest defence with a driven ball over the top, Jonny Williams getting a header on it but he couldn’t keep it down.
Dean Gerken held on to a hooked effort from Collins as Forest threatened a second, Chambers and Aaron Cresswell then combining to stop Jamie Paterson as he broke clear.
Stephen Hunt’s free-kick was cleared by Collins as Town looked to get back on level terms but at the other end Paterson was allowed to cut inside and his shot was deflected inches wide.
Darlow smothered the danger from Cresswell’s cross at his nearpost, Greg Halford then picking up the first yellow card of the game for a foul on Murphy.
Town had an anxious moment on the half hour, losing possession inside the box but Jamie Mackie’s shot was deflected to eventual safety.
Blues made a change on 35 minutes with Anderson making way for Sylvan Ebanks-Blake but seconds later Skuse lost possession, Paterson set up Mackie 15 yards out but Gerken came to Town’s rescue with a vital save with his feet to keep the deficit to just one at the break.
Frank Nouble replaced Hunt at the interval, Town denied an equaliser immediately after the restart with Darlow doing brilliantly to keep out Ebanks-Blake’s close range header.
Cresswell had a shot charged down as Town pressed Forest back in a high tempo start to the second-half, Ebanks-Blake almost getting on the end of a cross at the far post.
Paterson forced Gerken into a save low down to his left as the visitors looked to lift the pressure, Tommy Smith heading over immediately after as the clock ticked around to the hour mark.
Skuse sent a dipping volley from 30 yards at the Forest goal but Darlow held on, the Forest ‘keeper doing superbly to force Murphy’s shot wide after Williams set him up.
Cresswell’s free-kick drifted just wide before Fox was booked for a foul on the edge of the box, Cresswell finding Darlow with the follow up set-piece.
Murphy fired wide after creating space for himself but the Republic of Ireland international wouldn’t be denied and 13 minutes from time he thumped a header home from Nouble’s cross.
Williams, who entered the referee’s notebook for a foul, was given a warm ovation as he was replaced by Paul Green for the last six minutes.
Matt Derbyshire headed just wide with his first touch, then Murphy was handed the ball on the edge of the box by Collins but his shot was blocked.
Christophe Berra was immaculate as ever to stop Mackie in his tracks as Forest broke, then Nouble fizzed an effort at the far post, Darlow pushing the ball to safety with Town searching for that winner until the last whistle.