A wonderful strike from Jon Stead handed Ipswich three points at the Madejski Stadium as Reading's hopes of automatic promotion from the Coca-Cola Championship suffered yet another blow.
Stead put the visitors ahead in spectacular style shortly after half-time, meeting David Norris' seemingly innocuous cross with a stunning bicycle kick which gave Marcus Hahnemann no chance.
Reading had looked the more likely to find a breakthrough in the opening 45 minutes, with Dave Kitson's header grazing the bar early on.
However, despite piling men forward the hosts rarely troubled visiting goalkeeper Richard Wright after the break and could have few complaints about the final score.
Indeed, Ipswich almost added a second late on when Kevin Lisbie's header was superbly parried away by Hahnemann.
The defeat leaves Reading 10 points behind league leaders Wolves, although they do have two games in hand on the men from Molineux.
Kitson made his second debut for Reading after re-joining the club on loan from Stoke earlier in the week.
Goalkeeper Hahnemann also returned to the Royals' starting XI in place of Adam Federici, while James Harper and Brynjar Gunnarsson replaced Kalifa Cisse and Marek Matejovsky in midfield.
Ipswich named new loan signing Giovani dos Santos among their substitutes, while Stead and Gareth McAuley came into the side for Jon Walters and Ivan Campo.
Kitson almost got Steve Coppell's men off to the perfect start as he headed narrowly over from Glen Little's free-kick.
Wright was then forced to gather the ball at the feet of Stephen Hunt following a flowing Reading move, before Shane Long tested the Ipswich goalkeeper with a driven effort from 20 yards.
The visitors finally managed their first attempt on goal in the 24th minute, although Alan Quinn's 25-yarder posed little problem for Hahnemann.
It was Reading who remained the most likely to make the breakthrough and Harper forced Wright into further action in the 29th minute with a low left-footed strike from the edge of the area.
Ipswich improved as the half drew to a close and Tommy Miller curled a shot over the crossbar after 36 minutes.
The Tractor Boys then took the lead in stunning style two minutes after the interval through Stead's 10th league goal of the season.
Quinn then saw an effort saved by Hahnemann before Kitson came close again for Reading with another header which drifted over the bar.
With the play now switching from end to end, Stead drilled wide for Ipswich from 25 yards, before Reading came agonisingly close to grabbing an equaliser as McAuley cleared Michael Duberry's goalbound header off the line with Wright well beaten.
Jimmy Kebe was introduced in place of Hunt and Kevin Doyle came on for Long as the Royals fought desperately to get back on level terms.
However, Ipswich continued to push forward themselves in search of a killer second goal and the impressive Stead burst through again before firing high and wide from 20 yards.
The shot proved to be the striker's final contribution as he made way for Giovani to make his debut with 19 minutes remaining.
Six minutes later, Hahnemann made a superb save to keep his side in the game as he parried away Lisbie's header, but it was to no avail as Ipswich held on to claim three points.
Teams:
Reading Hahnemann, Rosenior (Matejovsky 74), Pearce, Duberry, Armstrong, Little, Gunnarsson, Harper, Stephen Hunt (Kebe 64), Kitson, Long (Doyle 68).
Subs Not Used: Federici, Cisse.
Ipswich Richard Wright, David Wright, McAuley, Balkestein, Thatcher, Miller, Norris, Quinn (Garvan 80), Civelli, Lisbie (Counago 90), Stead (Giovani 71).
Subs Not Used: Supple, Campo.
Booked: Thatcher, Garvan.
Goals: Stead 47.
Att: 20,592
Ref: Michael Oliver (Northumberland).