Hal Robson-Kanu's last-minute goal clinched a point for struggling Reading after a riveting encounter with Fulham.
A thunderous drive from Mikele Leigertwood gave the Royals a deserved half-time lead.
But Fulham fought back to go ahead through substitute Bryan Ruiz and Chris Baird before Garath McCleary got Reading back on level terms.
Dimitar Berbatov's low shot looked to have snatched the win for Fulham, but Robson-Kanu poked home at the death.
The result leaves 18th-placed Reading still searching for their first Premier League win of the season, while Fulham move into sixth.
The west Londoners even had their sights on the top four when they went 2-1 and 3-2 ahead, only to be pegged back both times by their spirited hosts.
Reading could then have taken all three points themselves, but a double save from Fulham goalkeeper Mark Schwarzer denied them a stoppage-time winner.
The Royals controlled the first hour of the match, creating a chance after just three minutes when a cross from Nicky Shorey was headed wastefully wide by Pavel Pogrebnyak.
After an otherwise dull opening 25 minutes, the game exploded into life when Leigertwood drove home a fine opener.
Captain Jobi McAnuff was the provider as he cut inside from the left flank and squared for Leigertwood, whose first-time strike flew into the top corner.
"A pulsating finale at the Madejski. Fulham were 2-1 and 3-2 up, only for Reading to peg them back on both occasions. Anyone who left early has been badly short-changed, but Reading are still without a league win."
Fulham spurned a clear opportunity to equalise when Damien Duff's cross from the right picked out Hugo Rodallega but his header from six yards was directed straight at keeper Alex McCarthy.
The onus was on Fulham to start the second half brightly but their forward play lacked pace or urgency, prompting Berbatov to make his frustrations clear with several gestures towards his team-mates.
Manager Martin Jol had seen enough and, after 58 minutes, brought off Rodallega and replaced him with the unpredictable Ruiz.
It proved an inspired move as the Costa Rican forward exchanged passes with Duff and unleashed a curling shot past McCarthy from the edge of the box.
Defender Baird, Fulham's match-winner against Aston Villa in their last game, looked set to be the hero once again as he put them in front with a glancing header from Ruiz's corner.
But Reading got back on terms when Adam Le Fondre crossed for his fellow substitute McCleary to slot past Schwarzer.
Ex-Reading midfielder Steve Sidwell was the next replacement to have a decisive influence as he threaded a perfect pass through to Berbatov, who lashed home his third goal since moving from Manchester United to give Fulham the lead.
Reading were not be denied, however, and equalised again from their next attack.
Shorey's clipped free-kick from the left landed in a crowd of players in the six-yard box and dropped for Robson-Kanu to bundle the ball home from point-blank range.
Reading manager Brian McDermott: "At 3-2 my weekend was absolutely miserable, but at 3-3 we were trying to kick on and win. It was a strange game - that's the fourth time we've taken the lead in this league and we need to finish the job off.
"All we can do is talk about the game and playing our football, doing what we have to do and if we do that the win will come.
"We try to win games and that's what we've done here for two or three years. The players derserve an awful lot of respect for getting back into that."
Fulham boss Martin Jol: "Berbatov was good. He can play in midfield, in the hole and up front.
"He needed an injection to play the second half and showed a lot of character.
"There was a problem with his rib which was very painful. Maybe it was broken, we'll have to take a look at it.
"We asked him to play on for 10 or 15 minutes but he stayed on the pitch and it was good to see him score the third goal."
Live Text Commentary
Full Time The match has reached full-time.90:00 +3:04
Corner taken left-footed by Nicky Shorey from the left by-line, Adam Le Fondre takes a shot. Jason Roberts gets a block in.90:00 +2:39
Hal Robson-Kanu takes a shot. Save by Mark Schwarzer.90:00 +1:42
Foul by Mahamadou Diarra on Jason Roberts, free kick awarded. Free kick crossed left-footed by Nicky Shorey from left wing, John Arne Riise manages to make a clearance.89:43
Assist on the goal came from Nicky Shorey.89:43 Goal scored
Goal! - Hal Robson-Kanu - Reading 3 - 3 Fulham Hal Robson-Kanu grabs a goal from close in to the bottom right corner of the goal. Reading 3-3 Fulham.88:24
Unfair challenge on Hal Robson-Kanu by Ashkan Dejagah results in a free kick. The ball is crossed by Nicky Shorey, Kaspars Gorkss takes a shot. Unfair challenge on Adrian Mariappa by Sascha Riether results in a free kick. Nicky Shorey delivers the ball from the free kick left-footed from left wing.87:15
Steve Sidwell provided the assist for the goal.87:15 Goal scored
Goal! - Dimitar Berbatov - Reading 2 - 3 Fulham Dimitar Berbatov scores a goal from inside the box to the bottom right corner of the goal. Reading 2-3 Fulham.86:21
Adam Le Fondre takes a shot. Save by Mark Schwarzer.85:25
Unfair challenge on Jobi McAnuff by Mahamadou Diarra results in a free kick. Nicky Shorey takes the direct free kick.84:17
Jason Roberts provided the assist for the goal.84:17 Goal scored
Goal! - Garath McCleary - Reading 2 - 2 Fulham Garath McCleary gets on the score sheet with a goal from close in to the bottom left corner of the goal. Reading 2-2 Fulham.82:19
Hal Robson-Kanu crosses the ball.79:32 Substitution
Substitution Adam Le Fondre on for Pavel Pogrebnyak.79:11 Substitution
Substitution Chris Baird leaves the field to be replaced by Steve Sidwell.77:54
Ashkan Dejagah gives away a free kick for an unfair challenge on Hal Robson-Kanu. Nicky Shorey delivers the ball from the free kick left-footed from left wing.77:35 Substitution
Substitution Hal Robson-Kanu comes on in place of Jimmy Kebe.76:30
Assist on the goal came from Bryan Ruiz.76:30 Goal scored
Goal! - Chris Baird - Reading 1 - 2 Fulham Chris Baird finds the back of the net with a headed goal from close in. Reading 1-2 Fulham.
Inswinging corner taken by Bryan Ruiz,75:15
Free kick taken by Kieran Richardson. Chris Baird has an effort at goal from outside the penalty area which goes wide right of the goal.75:15 Booking
Booking Shaun Cummings is cautioned.75:05
Shaun Cummings gives away a free kick for an unfair challenge on Dimitar Berbatov.74:25
Jimmy Kebe takes a shot. Save by Mark Schwarzer.73:55
Shaun Cummings takes the direct free kick.73:55 Booking
Booking The referee shows Chris Baird a yellow card.73:49
Unfair challenge on Jobi McAnuff by Chris Baird results in a free kick.70:30
Outswinging corner taken left-footed by Bryan Ruiz, Unfair challenge on Pavel Pogrebnyak by Brede Hangeland results in a free kick. Alex McCarthy restarts play with the free kick.69:34
Dimitar Berbatov challenges Kaspars Gorkss unfairly and gives away a free kick. Free kick taken by Kaspars Gorkss.68:51 Substitution
Substitution Garath McCleary is brought on as a substitute for Jay Tabb.68:33
Ashkan Dejagah sends in a cross, Close range headed effort by Aaron Hughes clears the crossbar.68:05
Inswinging corner taken by Ashkan Dejagah from the left by-line played to the near post, clearance made by Mikele Leigertwood.67:55
The ball is sent over by John Arne Riise, clearance by Nicky Shorey.67:08
Kaspars Gorkss gives away a free kick for an unfair challenge on Kieran Richardson. Mahamadou Diarra restarts play with the free kick.66:19 Substitution
Substitution Ashkan Dejagah is brought on as a substitute for Damien Duff.65:59
Shot from close range by Dimitar Berbatov misses to the left of the goal.62:42
Damien Duff sends in a cross. Centre by Chris Baird, Alex McCarthy makes a save. The ball is sent over by Sascha Riether, clearance made by Adrian Mariappa.62:14
Inswinging corner taken from the right by-line by Damien Duff, save by Alex McCarthy.62:04
The ball is sent over by Sascha Riether, blocked by Kaspars Gorkss.60:52
The assist for the goal came from Damien Duff.60:52 Goal scored
Goal! - Bryan Ruiz - Reading 1 - 1 Fulham A goal is scored by Bryan Ruiz from just outside the penalty box to the top right corner of the goal. Reading 1-1 Fulham.59:06
Damien Duff sends in a cross.57:05 Substitution
Substitution Bryan Ruiz is brought on as a substitute for Hugo Rodallega.56:13
The ball is sent over by Jimmy Kebe, clearance by Mahamadou Diarra.55:42
Corner taken by Nicky Shorey from the right by-line, Hugo Rodallega makes a clearance.55:17
Unfair challenge on Jay Tabb by Chris Baird results in a free kick. Adrian Mariappa takes the free kick.55:01
The ball is delivered by Jobi McAnuff.54:26
The ball is crossed by Shaun Cummings, save by Mark Schwarzer.54:06
Nicky Shorey produces a cross. The ball is sent over by Jimmy Kebe, Aaron Hughes manages to make a clearance.53:54
The ball is sent over by Jimmy Kebe.52:09
Pavel Pogrebnyak takes a shot. Mark Schwarzer makes a save.48:24
Corner taken by Damien Duff from the left by-line, clearance by Shaun Cummings.47:17
Free kick awarded for a foul by Mikele Leigertwood on Dimitar Berbatov. John Arne Riise shoots direct from the free kick.45:11
Jason Roberts fouled by Aaron Hughes, the ref awards a free kick. Free kick crossed left-footed by Nicky Shorey from left wing, Mahamadou Diarra manages to make a clearance.45:01
The referee gets the second half started.45:00 +1:23 Half time
Half Time The referee blows for half time.45:00 +0:48
Outswinging corner taken left-footed by Nicky Shorey played to the near post, Dimitar Berbatov makes a clearance.44:53
A cross is delivered by Kieran Richardson.43:52
The ball is sent over by Shaun Cummings.42:39
The ball is crossed by Kieran Richardson, Effort from inside the area by Damien Duff misses to the left of the goal.41:40
Kieran Richardson gives away a free kick for an unfair challenge on Adrian Mariappa. Free kick taken by Nicky Shorey.40:41
Effort on goal by Chris Baird from just outside the area goes harmlessly over the target.39:19
Jimmy Kebe sends in a cross, blocked by John Arne Riise.38:07
The ball is swung over by Kieran Richardson, clearance by Adrian Mariappa.36:43
Foul by Kaspars Gorkss on Hugo Rodallega, free kick awarded. Chris Baird restarts play with the free kick.36:18
The ball is swung over by Kieran Richardson, clearance made by Adrian Mariappa.34:49
Shaun Cummings sends in a cross, Jay Tabb takes a shot. Save made by Mark Schwarzer. The ball is swung over by Damien Duff, Hugo Rodallega takes a shot. Save by Alex McCarthy.34:30
Outswinging corner taken left-footed by Nicky Shorey from the left by-line, clearance made by Brede Hangeland.34:01
Jobi McAnuff takes a shot. Sascha Riether gets a block in.33:10
Shot by Mahamadou Diarra from just outside the area goes over the net.32:47
Sascha Riether takes a shot. Kaspars Gorkss gets a block in.29:04
Jason Roberts fouled by Brede Hangeland, the ref awards a free kick. Pavel Pogrebnyak has an effort direct from the free kick.28:43
Hugo Rodallega gives away a free kick for an unfair challenge on Adrian Mariappa. Alex McCarthy restarts play with the free kick.27:55
The assistant referee flags for offside against Jason Roberts. Mark Schwarzer restarts play with the free kick.27:32
Jimmy Kebe produces a cross, save made by Mark Schwarzer.26:49
Centre by Jimmy Kebe, Brede Hangeland makes a clearance.25:14
Jobi McAnuff provided the assist for the goal.25:14 Goal scored
Goal! - Mikele Leigertwood - Reading 1 - 0 Fulham Mikele Leigertwood fires in a goal from just outside the penalty box to the top right corner of the goal. Reading 1-0 Fulham.24:20
Pavel Pogrebnyak gives away a free kick for an unfair challenge on Aaron Hughes. Free kick taken by Mark Schwarzer.22:39
Outswinging corner taken by Damien Duff from the left by-line. Shot by Mahamadou Diarra from outside the box goes high over the crossbar.22:12
Outswinging corner taken by Damien Duff from the left by-line, clearance made by Kaspars Gorkss.22:03
The ball is swung over by John Arne Riise, Jimmy Kebe gets a block in.21:42
The ball is delivered by Kieran Richardson, Kaspars Gorkss makes a clearance.20:56
The ball is crossed by Kieran Richardson, Hugo Rodallega takes a shot. Save by Alex McCarthy.19:55
Unfair challenge on Adrian Mariappa by Dimitar Berbatov results in a free kick. Free kick taken by Adrian Mariappa.19:33
Foul by Kieran Richardson on Shaun Cummings, free kick awarded. Shaun Cummings restarts play with the free kick.18:15
The ball is delivered by Jobi McAnuff, clearance by Aaron Hughes.15:51
The ball is delivered by Nicky Shorey, Brede Hangeland manages to make a clearance. Corner taken by Nicky Shorey from the left by-line to the near post, Sascha Riether manages to make a clearance.15:11
John Arne Riise challenges Jimmy Kebe unfairly and gives away a free kick. Adrian Mariappa takes the free kick.14:55
Foul by Jay Tabb on Dimitar Berbatov, free kick awarded. Dimitar Berbatov takes the direct free kick.14:16
Effort from outside the area by Dimitar Berbatov goes wide right of the goal.13:22
The ball is swung over by Shaun Cummings.11:12
Jobi McAnuff produces a cross, clearance made by John Arne Riise.10:28
Jobi McAnuff takes a inswinging corner from the left by-line to the near post, clearance made by Dimitar Berbatov.10:00
Mikele Leigertwood fouled by Dimitar Berbatov, the ref awards a free kick. Adrian Mariappa restarts play with the free kick.9:14
The ball is delivered by Shaun Cummings, Aaron Hughes makes a clearance.7:47
Jobi McAnuff takes a shot. Blocked by Aaron Hughes.5:32
Jobi McAnuff takes a shot. Centre by Nicky Shorey, Pavel Pogrebnyak has a headed effort at goal from close range which goes wide left of the target.5:01
Corner from the right by-line taken by Damien Duff, Alex McCarthy makes a save.4:51
Kieran Richardson sends in a cross, clearance by Nicky Shorey.2:35
Chris Baird takes a shot. Kaspars Gorkss gets a block in.0:00
The match begins.
Live data and text provided by our data suppliers