The winger levelled the scores at 2-2 in the 95th minute, turning the ball home from Henri Lansbury’s corner in front of the Trent End.
Daryl Murphy had put the visitors into the lead in the first half and headed them back in front after Robert Tesche had equalised after the break with his first Forest goal.
Stuart Pearce made one change to the side that drew with Wigan in midweek. Matty Fryatt, who returned to action as a substitute at the DW Stadium, rekindled his partnership with Britt Assombalonga by replacing Ben Osborn in the starting line-up.
Osborn took his place on the bench alongside the likes of Jamie Paterson and Jorge Grant.
Ipswich handed starts to former Forest pair Luke Chambers and David McGoldrick, and the Tractor Boys claimed the first chance of the match when Murphy headed the ball straight at Darlow from a corner.
Forest almost opened the scoring with their response on six minutes after Jack Hunt won a free-kick from Luke Hyam. Henri Lansbury’s delivery was half-cleared but Antonio kept the move alive, swinging the ball back into the middle. Assombalonga did well to get his head on it under pressure but could only strike the post.
And The Reds had another good headed opportunity moments later from a Lansbury corner. The path of the ball looked perfect for the onrushing Michael Mancienne but the skipper made minimal contact and it flashed across the box and away from danger.
It had been an open start to the match and the visitors reminded The Reds of their threat on 12 minutes. After a prolonged spell of pressure in Forest’s final third, Connor Sammon flicked the ball into the box for Murphy to race on to. He blazed over from a narrow angle.
Pearce’s men were straight back on the offensive, however, and Town’s Tyrone Mings had to be alert to halt Assombalonga in the area. Fryatt couldn’t turn the ball home amid the chaos of the resultant corner.
It was only a matter of time before the first goal of the afternoon, and the visitors claimed it on 19 minutes after Eric Lichaj couldn’t deal with a long ball down the right. Murphy took it down, cut inside and beat Karl Darlow with an excellent finish into the far corner.
There was more bad news for Forest on 29 minutes when Kelvin Wilson jogged off with an injury, Lascelles replacing him, before Ipswich suffered a blow of their own when Hyam was forced off in place of Jay Tabb.
As half-time neared Forest stepped up their pursuit of an equaliser. Chris Burke skipped away down the left and crossed the ball into the box. It was half-cleared to Tesche, who could only volley wide from the edge of the area.
Four minutes of added time were indicated, in the second of which Sammon fouled Hunt near the corner flag. Lansbury’s free-kick was dealt with by Town’s defence and Burke failed to rekindle the move when he was blocked off at the edge of the area.
Forest ended the half firmly on the front foot when they won a corner after good work by Assombalonga and Hunt. Lansbury sent the ball all the way to the back post where Assombalonga was grappling with Chambers, but the ball went behind and referee James Linington blew for half-time.
The Reds ramped up the pressure after the break but had to wait until just before the hour to carve out their first clear-cut opportunity of the half. It was well-worked, Tesche sending Hunt racing to the right byline, where he pulled the ball back into the area for an unmarked Antonio.
The winger struck it sweetly first time by Dean Gerken did brilliantly to push the ball wide for a corner. Lansbury’s first delivery caused chaos, Town’s defenders eventually bundling the ball out for another corner, while his second cleared everyone in the middle and went all the way out for a throw.
But the atmosphere in The City Ground suggested a breakthrough was close for the home side, and it eventually came on 63 minutes. Lansbury got his corner spot on this time, picking out Tesche at the back post to allow the German to nod the ball home from close range.
Forest kept up their pressure, Antonio striking the ball wide from range before Burke missed Gerken’s top corner by inches with an effort from just outside the area.
But they found themselves behind out of the blue on 71 minutes when Murphy headed the ball powerfully past Darlow after Mings’ cross.
Darlow had to be alert again shortly afterwards when McGoldrick skipped into space and struck the ball low towards goal. The keeper showed tremendous handling to hold on to it with Sammon lurking close by.
And attentions quickly turned to Town keeper Gerken, who was forced into making an excellent save to preserve his side’s lead. The chance came about when Antonio latched on to a long ball over the top from Mancienne. The winger took the bouncing ball around Gerken but Ipswich’s defenders managed to clear it off the line. Assombalonga pounced but Gerken did brilliantly to get back into position and divert the ball out for a corner.
Lars Veldwijk replaced Burke shortly afterwards, and the Dutchman had a chance on 79 minutes. Assombalonga went down in the area under a challenge but the ball squirmed out to Veldwijk, whose shot was blocked.
Forest’s final change came with ten minutes to go as Pearce sent Dan Harding on in place of Lichaj.
It was all Forest at this stage and the home side had claims for a penalty when Antonio appeared to be pulled down by Mings in the area. Both the referee and his assistant had an excellent view of the incident and were unmoved. Forest kept up their pressure and had a chance through Antonio, who received the ball from Lansbury 20 yards out but could only send the ball over the bar with his first-time left-footed effort.
Five minutes were added on and it looked certain that Forest’s unbeaten run was about to come to an end. But, in the fourth minute of added time, Harding won a corner. Lansbury swung the ball to the back post once again where Antonio was on hand to head it home from close range.
Forest: Darlow, Hunt, Mancienne (c), Wilson (Lascelles 29'), Lichaj (Harding 81'), Burke (Veldwijk 76'), Tesche, Lansbury, Antonio, Fryatt, Assombalonga
Subs not used: De Vries, Paterson, Grant, Osborn
Scorers: Tesche 63', Antonio 90'
Booking: Lansbury 57'
: Gerken, Mings, Berra, Chambers (c), Parr, Skuse, Hyam (Tabb 33'), Williams (Bishop 61'), Murphy, McGoldrick (Smith 76'), Sammon
Subs not used: Bialkowski, Bru, Bajner, Henshall
Scorer: Murphy 19', 71'
Referee: James Linington
Attendance: 24,354 (1,672 away)