Newcastle United are set for a nail-biting end to the Championship season after suffering a damaging defeat at Portman Road.
Ipswich Town beat Rafa Benitez's second-placed side 3-1 thanks to goals from Freddie Sears, David McGoldrick and Emyr Huws.
Daryl Murphy netted against his former club for Newcastle, who now trail league leaders Brighton and Hove Albion by seven points.
Brighton beat Wigan Athletic 2-1 to all but secure their place in the Premier League next season.
But United, so long the favourites to win the division, are now looking over their shoulders.
Reading, in third, are six points behind Newcastle. And fourth-placed Huddersfield Town could close the gap on United to five points with a win over Derby County at the iPro Stadium this evening.
David Wagner's side also have a game in hand over Newcastle, who could have no complaints about the scoreline at Portman Road, where they were second-best all afternoon.
Sears opened the scoring in the 42nd minute after Tom Lawrence ran forward unchallenged and slipped the ball to him.
United, however, were fortunate to only trail by one goal given Ipswich's first-half dominance.
Newcastle created very little themselves, but Murphy, signed from the club last summer, gave them a second-half lifeline with a 62nd-minute strike.
But a poor clearance from Karl Darlow led to a winner for the home side.
The ball was worked to Sears, who delivered the ball across goal to McGoldrick, who tapped the ball home at the far post.
This time, there was to be no comeback from Newcastle, who were backed by 1,952 fans at Portman Road.
Too many players went missing on a forgettable afternoon in Suffolk.
Mohamed Diame and Jonjo Shelvey were kept quiet by Mick McCarthy's side, who had gone into the match still needing points to mathematically secure their Championship status.
And Huws capped a miserable afternoon for Newcastle with a third goal for Ipswich in injury time.
IPSWICH TOWN: Bialkowski, Chambers, Berra, Skuse, McGoldrick (Smith, 86), Spence, Ward, Sears, Lawrence (Pitman, 89), Kenlock (Emmanuel, 77), Huws. Subs not used: Crowe, Bru, Diagouraga, Samuel.
NEWCASTLE UNITED: Darlow; Yedlin (Gamez, 79), Lascelles, Hanley, Dummett; Shelvey, Hayden (Gouffran, 61); Ritchie (Mitrovic, 81), Diame, Atsu; Murphy. Subs not used: Elliot, Colback, Perez, Mbemba.
Goals: Sears 42, Murphy 62, McGoldrick 69, Huws 90
Bookings: Hayden 54, McGoldrick 60, Lawrence 65
Referee: Tim Robinson (West Sussex)
Attendance: 25,684 (1,952 Newcastle)