Benjani Mwaruwari struck a hat-trick as Pompey won an incredible match.
Reading keeper Marcus Hahnemann was shell-shocked
Two Benjani strikes had the home side cruising before Stephen Hunt struck on the stroke of half-time and David James then gifted Dave Kitson an equaliser.
But Hermann Hreidarsson restored the lead before James atoned for his error by keeping out a Nicky Shorey penalty.
Benjani restored the two-goal lead and Niko Kranjcar, Sean Davis and Sulley Muntari sealed victory, with Shane Long and Shorey responding late on.
All the pre-match signs pointed to a home win, with Pompey unbeaten at Fratton Park this season and the Royals yet to win on the road and without a win over Portsmouth in 10 years.
Immediately, that streak looked set to be extended as Pompey opened the scoring after only seven minutes.
Benjani, replacing the injured Kanu up front, started and finished the move, winning possession off James Harper on half-way and then spreading the ball wide to Muntari on the left.
Benjani bundles home the first of 11 Fratton Park goals
Muntari's return to the far post was pin-point, giving Benjani the chance to arrive behind Ivar Ingimarsson and leap acrobatically to turn the ball home unchallenged.
Reading keeper Marcus Hahnemann needed to get down low to turn a low Papa Bouba Diop skidder round his post 10 minutes before half time, but there was no reaching Benjani's second effort just three minutes later.
It was a fine individual strike from the Zimbabwean, who cut in from the right wing before stepping back inside Ingimarsson and fizzing a shot past Michael Duberry and beyond the reach of goalkeeper Hahnemann.
But Reading's American keeper then produced a miraculous save to prevent the home side from moving out of sight.
Benjani headed John Utaka's deep centre back across goal and into the path of full-back Glen Johnson, who appeared to have the simplest of tap-ins, only to see Hahnemann extend an arm and flick the ball over the bar.
Even then, the home side might have had a third following the resulting corner, but Davis drilled over as the Reading defence stood and watched.
It was a let-off for Reading, who were being totally outplayed, prompting manager Steve Coppell to come down from the stands and on to the touchline.
Whatever he said, it appeared to do the trick as the Royals pushed forward in search of a lifeline before half-time.
It came courtesy of Hunt's close-range header after Rosenior's left-foot shot appeared to have crossed the goal-line on the stroke of half-time.
Whoever eventually claims the goal, the single-goal deficit flattered the visitors at the break and they started the second half like a side that had been let off the hook, before a howler from David James gifted them the chance of parity which Kitson took with some style.
James inexplicably raced from his goal as Kitson battled Sol Campbell in the right-back position, and a neat first touch from the striker gave him the chance to crash a left-foot shot into the unguarded net from 20 yards.
But, having got back on level terms, Reading then handed the initiative back to the home side.
Defender Hreidarsson raced forward to outjump the struggling Brynjar Gunnarsson and reach Sylvain Distin's left-foot cross, flicking home a header as Hahnemann was left grasping at thin air.
Still Reading refused to lie down though and, 20 minutes from time, they were gifted another route back by the home side.
This time it was Diop who erred, sticking out an arm to parry Kitson's attempted pass right under the nose of referee Mark Halsey.
Shorey's resulting spot-kick was struck firmly, but was superbly kept out by James who guessed right to protect the lead.
Benjani made certain of victory as he completed his hat-trick five minutes later.
The hapless Gunnarsson was again at fault, losing possession on the half-way line to Muntari, who played Benjani clear and watched in delight as the striker rounded Hahnemann and rolled the ball into an empty net.
Another Gunnarsson fluff saw the Icelandic midfielder hack a clearance straight to Davis, whose far-post cross was bundled home by Kranjcar.
Reading responded again, James Harper's left-foot volley deflecting in off substitute Shane Long, who appeared to be in an offside position.
But Muntari struck again from the spot in injury time before Shorey's deflected effort flew in to set a new Premiership record for the most aggregate goals scored in a single match.
Portsmouth coach Joe Jordan:
"The first half was probably our best 45 minutes this season, but to come in having conceded in the last minute of the half allowed them back in.
"Even at 2-2 I don't think anyone expected the score to be exaggerated to 7-4 but overall I think the best team won.
"People say we only play one up front but today proved that it's really three and no-one deserves a hat-trick more than Benji."
Reading manager Steve Coppell:
"It's difficult to analyse a match like that and if you try you will be there a very long time.
"We scored four goals away from home and had a chance for another with a penalty. We played a full part in the game - I don't think many teams will come here this season and score four.
"Both sets of strikers looked irresistible at times going forward but both sets of defenders will be unhappy at that scoreline. Defensively, we have got to improve, but I'd like to be on the right end of a scoreline like that and it must have been great for the impartial observer."
Portsmouth: James, Johnson, Campbell, Distin, Hreidarsson, Utaka, Davis, Diop, Muntari, Kranjcar, Mwaruwari (Nugent 80).
Subs Not Used: Ashdown, Taylor, Pamarot, Pedro Mendes.
Goals: Mwaruwari 7, 37, Hreidarsson 55, Mwaruwari 70, Kranjcar 75, Davis 81, Muntari 90 pen.
Reading: Hahnemann, Murty (Long 77), Duberry, Ingimarsson, Shorey, Rosenior, Gunnarsson (Fae 77), Harper, Hunt, Doyle, Kitson.
Subs Not Used: Federici, Lita, Bikey.
Goals: Hunt 45, Kitson 48, Long 79, Shorey 90.
Ref: Mark Halsey (Lancashire).