Portsmouth edged an important step nearer the First Division title with two goals from French striker Vincent Pericard.
Leicester's defeat by Sheffield United gave Pompey the perfect opportunity to leapfrog over them to the top of the table.
They achieved this with a minimum resistance from Reading with Pericard's two first-half goals and another after the break from Svetoslav Todorov.
Reading, needing points to stay in the play-off places, struggled to find the form which had taken them also to the brink of the Premiership.
Pericard, on a year's loan from Italian giants Juventus, put Pompey ahead in the 18th minute with a right-foot shot after Kevin Harper had run unchallenged from midfield.
Pericard's second came in first-half injury time when he shot home left-footed at the second attempt after the Reading defence had failed to close him down.
Adrian Williams cleared off the line from Todorov in the 53rd minute while Reading tamely subsided from a poor start.
Former Reading goalkeeper Shaka Hislop was forced to make a low save from Nicky Shorey in the 55th minute, but it was Reading's only clear chance in the match.
Todorov scored his 21st of the season after 71 minutes when he was allowed to run from inside his own half at a retreating defence before placing a shot into the corner of the net.
Reading goalkeeper Marcus Hahnemann was lucky to stay on the pitch in the 83rd minute when he was adjudged to have handled outside his area, but was shown only a yellow card when a red looked imminent.
Reading manager Alan Pardew still learned some good news at the final whistle when Ipswich's defeat left his side needing only one point from their last three fixtures to be sure of a place in the Premiership.