Southampton's defeat was only their second at home all season, but it was enough to see them lose the lead in the standings which they have held for the vast majority of the season.
Jason Roberts's header on 19 minutes was cancelled out by league top-scorer Rickie Lambert's inevitable goal early in the second half.
With a second 1-1 draw this season between these two sides looking on the cards, substitute Adam Le Fondre struck with 18 minutes left and again in stoppage time to send Reading three points clear at the summit with just three games of the season remaining.
The result continues Reading's remarkable run in the league this season. Last season's beaten play-off finalists almost dropped into the bottom three early in the season, but Friday's win on the south coast means they have now taken 43 points from the last 48 available to them.
That storming run is worthy of champions, and it now looks like Reading will be crowned as such as they move a significant step closer to returning to the Premier League after a four-year absence.
Southampton remain six points above third-placed West Ham United. The London side, along with the rest of the division, play their game in hand on the top two on Saturday.
Southampton are the Championship's highest scorers this season, and began in suitable style. Top scorer Rickie Lambert was denied early on when his low angled drive was parried by Adam Federici. The Royals goalkeeper was in sparkling form, and he did well to block Adam Lallana's deflected effort and palm away a Lambert header as the Saints put their visitors to the sword.
Then, against the run of play, Reading took the lead with their first shot on target. Jimmy Kebe was given too much space on the right wing and curled in a cross that Roberts could not help but head into the roof of the net for his sixth league goal for Reading since arriving in January.
Lambert headed over the bar from a golden opportunity just before half-time as Southampton were frustrated by their opponents, who have the best defensive record in the division, but soon after the break he levelled things up. Billy Sharp chested a cross into Lambert's path and the striker lashed home his 27th league goal of the campaign via a telling deflection off Kaspars Gorkss.
Both managers made attacking changes soon afterwards, with Nigel Adkins bringing on Steve de Ridder – who scored the equaliser in the reverse fixture – and Brian McDermott introduced Le Fondre.
The Royals' January signing from Rotherham came off the bench last Friday to score both goals in the 2-0 win over Leeds, and he repeated that feat in an even more crucial match.
Eight minutes after coming on, it was his call for Noel Hunt to leave Kebe's square pass across the box that allowed him to arrow a first-time strike right into the top corner, becoming the first Reading player this season to take their goal tally in the league into double figures.
As Southampton pushed for an equaliser that would keep them top of the pile, they were undone in stoppage time by a goal via route one. Federici's long punt up the field was headed forwards and Jose Fonte failed to deal with the direct approach. Le Fondre was hot on his heels and picked his pocket before rounding Kelvin Davis and finishing into the unguarded net.
Reading only had four shots on target all night, but the three they converted turned out to be more than enough for them to take the lead in the charge for Premier League football as the home straight approaches.