Match ends, Preston North End 1, Ipswich Town 2.
Ryan Fraser's stunning effort gave Ipswich Town victory at Preston North End that saw them maintain their unbeaten start to the season.
Ipswich took the lead against the run of play midway through the first half when Brett Pitman headed in his first Town goal from Freddie Sears' cross.
North End quickly equalised when Daniel Johnson finished off a swift counter-attack past keeper Dean Gerken.
Ipswich won it when on-loan winger Fraser curled in from 25 yards.
Preston had chances to level, though, but Ipswich defender Jonas Knudsen blocked an effort from Joe Garner after a goalmouth scramble, and Gerken later denied the North End front man from close range.
The result leaves Mick McCarthy's side unbeaten at the top of the Championship on goal difference, while Preston suffered their first defeat of the season.
Simon Grayson's side started much stronger, going close through headers from Paul Huntington and Garner, before Chris Humphrey sliced Greg Cunningham's cross to the back post off target when well placed.
But Preston, who were the only team yet to concede in the Championship this term, went behind when Pitman nodded in virtually unchallenged past Jordan Pickford.
They were not ahead for long though, as Preston broke and Humphrey laid in Johnson to slot home.
After a quiet spell in the second half, Scotland Under-21 international Fraser curled home into the top corner from the edge of the area.
And despite Grayson bringing on striker Jermaine Beckford for his first appearance of the season, Ipswich held on.
Preston North End manager Simon Grayson:
"The game could have been over and done with, with the chances we had and the problems we caused them but we didn't quite have that clinical edge and that was the difference.
"We've come up a disciplined team who know how to kill a game but we were very pleased with that first 30 minutes. If the game was played in stats then we would have won the game but that's not the case.
"We wanted to kick on in the second half but unfortunately we couldn't produce that little bit of quality that they did in the end. We came up against a strong team."
Ipswich Town manager Mick McCarthy:
"I haven't got the biggest squad of players but the players I have are good players. I am delighted because it was a hard-fought game.
"Preston were the better team in the first half and we were lucky to go in front really. I had to change my shape because I fully expected them to play 3-5-2 and we planned for that but they changed it.
"There were one or two doing real selfless jobs for us. Not what we want to do but if we end up getting enough points to get in the Premier League, nobody will complain."
- 6WrightBooked at 77mins
- 8KilkennySubstituted forBeckfordat 75'minutes
- 19WelshBooked at 44mins
- 3CunninghamSubstituted forWoodsat 32'minutes
- 12GallagherSubstituted forReidat 82'minutes
- 14GarnerBooked at 74mins
- 20SearsSubstituted forEmmanuelat 90+3'minutes
- 10McGoldrickSubstituted forMaitland-Nilesat 62'minutes
- 14FraserSubstituted forToureat 85'minutes
- Mark Brown
- Shots on Target
Second Half ends, Preston North End 1, Ipswich Town 2.
Substitution, Ipswich Town. Joshua Emmanuel replaces Freddie Sears.
Offside, Preston North End. Calum Woods tries a through ball, but Jermaine Beckford is caught offside.
Attempt saved. Joe Garner (Preston North End) right footed shot from outside the box is saved in the centre of the goal.
Substitution, Ipswich Town. Larsen Touré replaces Ryan Fraser.
Foul by John Welsh (Preston North End).
Brett Pitman (Ipswich Town) wins a free kick in the defensive half.
Substitution, Preston North End. Kyel Reid replaces Paul Gallagher.
Offside, Preston North End. Bailey Wright tries a through ball, but Joe Garner is caught offside.
Attempt missed. Brett Pitman (Ipswich Town) right footed shot from outside the box is too high from a direct free kick.
Bailey Wright (Preston North End) is shown the yellow card for a bad foul.
Foul by Bailey Wright (Preston North End).
Ainsley Maitland-Niles (Ipswich Town) wins a free kick in the attacking half.
Substitution, Preston North End. Jermaine Beckford replaces Neil Kilkenny.
Joe Garner (Preston North End) is shown the yellow card.
Foul by Joe Garner (Preston North End).
Luke Chambers (Ipswich Town) wins a free kick in the defensive half.
Foul by Joe Garner (Preston North End).
Tommy Smith (Ipswich Town) wins a free kick in the defensive half.