Boro went in front when Emilio Nsue slotted home from close range after Ali al-Habsi thwarted Jordan Rhodes.
Simon Cox dinked in an equaliser when Dimi Konstantopoulos could not hold sub Andrew Taylor's powerful drive.
But the hosts went two points clear of Burnley at the summit when Forshaw turned home after a goalmouth scramble.
Aitor Karanka's side are now also four points ahead of third-placed Brighton in the race for automatic promotion, with all three sides having played 41 games.
Middlesbrough can now guarantee a place in the Premier League next season, for the first time in seven years, should they win four of their last five matches.
On a foggy night, the hosts started full of confidence after winning their previous four games, but they failed to build on Nsue's opener.
Albert Adomah missed a golden chance to double the lead soon after the break, before Cox levelled with what was only the seventh league goal Boro have conceded at home this season.
As Middlesbrough piled forward in the closing stages and went close through Ben Gibson and David Nugent headers, they almost paid for their attacking intent when Matej Vydra broke clear in added time, only to shoot over from inside the box.
And the home side took full advantage in the fourth added minute when Forshaw was on the spot to force the ball in from a tight angle.
Middlesbrough head coach Aitor Karanka: "I am really pleased because we won the game, but when you are a coach, now my feelings are I am happier for the players than for me.
"They deserve to live this situation and now I am going home and I am going to dream about Bolton tonight.
"When you are a coach, you enjoy it especially with players like them, who are doing their best every single day."
Media playback is not supported on this device
Reading manager Brian McDermott: "It should have been three points. We had a chance at the end there and just didn't score, and they punished us at the other end.
"At 1-0 down after 10 minutes, it's never an easy place to get a result here, as everybody is proving this year, so I think we have given them as good a game as anyone has given them this year."
Substitute Adam Forshaw's stoppage-time winner carried Middlesbrough to the top of the Championship as they secured a dramatic victory over Reading.