Forrester netted his third goal in as many games against the Tayside club to secure a 1-0 victory.
Rangers had endured a frustrating 90 minutes as Dundee became increasingly assured in their defensive play after their hosts failed to capitalise on a lively start.
The visitors also created some decent chances, Tom Hateley having two free-kicks saved and Marcus Haber missing a free header.
Rangers found an extra gear in the final 15 minutes but, with Martyn Waghorn unavailable because of a rib injury, their late pressure looked to have fizzled out.
However, Joe Dodoo turned on to his right foot on the left wing and delivered a cross which fellow substitute Forrester glanced into the far corner.
Rangers, who stay third in the Ladbrokes Premiership, took the early initiative and created some openings with some sharp passing in the final third.
Joe Garner was at the centre of the action. The striker screwed a shot wide after a good turn and chipped just over from 30 yards before his diagonal ball almost found Kenny Miller.
Scott Bain saved from Jason Holt as the former Hearts man and fellow midfielder Josh Windass moved around to good effect. Dundee defender Kevin Gomis did well to clear Holt’s dangerous ball across the six-yard box before blocking Garner’s unconvincing attempt from a Windass cutback.
Dundee, again playing with a three-man central defence, restricted the Rangers chances as the half progressed and they threatened twice themselves in quick succession. Hateley had a free-kick pushed wide before his corner found Haber completely unmarked, but the Canada striker fluffed his header.
Bain saved from Windass from close range late in the half but Rangers found it increasingly difficulty to break the visitors down after the interval and the home fans showed their frustration when they booed Mark Warburton’s decision to take off Windass. Barrie McKay came on.
The visitors then had a particularly fruitful spell with Wes Foderingham doing well to tip over Hateley’s free-kick before the former Motherwell man found Gomis unmarked from another, but the French defender could not steer his header on target.
Clint Hill then slid to prevent James Vincent converting Haber’s low cross after Haber had shrugged off Andy Halliday.
But Rangers found an added edge in the final 15 minutes. Bain denied Holt with a brilliant diving save after Dundee lost the ball on the edge of their box, Garner was inches away from connecting with Dodoo’s cross, and the goalkeeper made another decent save from Halliday’s free-kick.
Dundee looked to have weathered the storm but Forrester had the final say.