Leandro Bacuna was Reading's unlikely match-winner as they beat fellow Championship strugglers Preston 3-2 after a real rollercoaster ride at Deepdale.
Striker Sam Baldock gave the visitors a 23rd-minute lead against the run of play with a clinical strike, before Jamaican midfielder Daniel Johnson levelled matters eight minutes later with a powerful shot.
Portuguese defender Tiago Ilori netted his first Reading goal and first for nearly four years to put the Royals in front again, only for Callum Robinson to equalise for the hosts with a tap-in.
But there was still time for Dutch midfielder Bacuna to slot home with nine minutes remaining for his first goal since November 2017 to give the Royals their first league win of the season.
As early as the second minute Tom Barkhuizen dragged a shot wide for the hosts as they started the brighter.
Then in the 11th minute keeper Sam Walker did well to block Robinson's goalbound left-footed strike.
Barkhuizen rifled over with a powerful shot not long after, while at the other end Sone Aluko fired wide with a wild effort from distance.
Barkhuizen then powered a header against the left upright from a delightful Robinson delivery.
But it was the Royals who took the lead against the run of play having soaked up a barrage of pressure.
Baldock latched on to John Swift's neat pass and slotted into the bottom left-hand corner despite keeper Declan Rudd getting a partial hand on the ball.
It was Baldock's second goal in four games and was a sucker-punch for the Lilywhites who had dominated the opening exchanges.
But the home side were level shortly after the half-hour mark. Robinson's left-footed strike was brilliantly blocked by Walker but the rebound fell fortuitously for Johnson who fired home via a deflection.
And the hosts could have been ahead two minutes later as Republic of Ireland international Robinson's shot across the box flew agonisingly wide of the far post.
Aluko shot well over three minutes after the restart before the Royals took the lead for the second time in the contest.
Yakou Meite clipped in a delicate cross across the face of goal and there was Ilori to smash home from close range.
Robinson nearly levelled a minute later but his left-footed shot from the edge of the box flew agonisingly wide of the left upright.
Substitute Josh Harrop had a great opportunity to equalise for the Lilywhites in the 68th minute, but his curling free-kick from the edge of the area was frustratingly deflected over the bar.
Walker then pulled off a wonderful save with his legs to thwart Josh Earl from point-blank range as the hosts looked destined to score.
Less than a minute later and the home team were level, Earl's shot blocked before Robinson poked home for his second goal in as many games.
However, there was still time for a sting in the tail as the Royals broke on the counter-attack and substitute Josh Sim teed up the unmarked Bacuna to win it.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Press Association Sport staff');
ga('pacontentapi.set', 'dimension2', '86d6f89e-5198-4e01-a681-b18e176f1241');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:club-news,paservice:sport:football,paservice:sport:match-reports');
ga('pacontentapi.set', 'dimension6', 'story');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:football');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'Leandro Bacuna nets winner for Reading in five-goal thriller with Preston'});