Royals winger Jimmy Kebe missed out with a groin strain but Brian McDermott's men did not take long to forge ahead.
Last year's player of the season Gylfi Sigurdsson was again on target, collecting a pass from Hal Robson-Kanu and curling home from the edge of the area.
Alan Pardew's side were level before the break, however, when Ryan Dickson's header fell to the feet of Lee Barnard and the former Southend man made no mistake.
The League One side went ahead in the 48th minute when midfielder Dean Hammond headed in from Dan Harding's free-kick before substitute Simon Church struck a penalty for Reading.
Church was then credited with the third goal with 17 minutes remaining as he attacked a Jobi McAnuff cross at the near post before Michail Antonio - who was on loan with the Saints last season - rounded out the scoring with four minutes to go.