Town scored first, in the ninth minute, but Reading equalised at the start of the second half,
The opening goal came when David Wright's long throw-in from the left went over the heads of the nearest four players and then took a high bounce off the ground. Reading skipper Ivar Ingimarsson headed it away from goal but the ball fell to John Stead, who hooked it high into the corner of the net.
Reading came close to grabbing an equaliser in the 20th minute. Midfielder Brian Howard found himself in space, strode forward and fired in a left-foot shot that clipped the crossbar before going behind for a goal kick.
Reading also came close with a trio of first-half headers, Grzegorz Rasiak, Simon Church and Jobi McAnuff all sending efforts just wide.
Ipswich had their chances with Stead stinging Adam Federici's hands with one effort and then Tamas Priskin forcing Reading's Australian goalkeeper into a full-length save to keep out a long-range effort.
Reading were having most of the play, but their patient build-up was being wasted though a lack of penetration up front.
The breakthrough came two minutes into the second half. An Alex Pearce header found its way to Gylfi Sigurdsson, The young Icelander shot from close range and his effort struck Simon Church on the leg before diverting across the line
Priskin fired wide as Ipswich hit back, then the Hungarian striker should have done better as he saw Federici make a save from close range. Federici was soon in action again, making a smart save from Damien Delaney's close-range effort.
Reading had late claims for a penalty rejected as substitute Shane Long took a tumble in the box and in an exciting finish Church sent a shot crashing against the crossbar and Liam Rosenior cleared a Long effort off the line.