Reading won a seven-goal thriller at The Valley this afternoon thanks to a brace from Yann Kermorgant, a first half finish from Ola John and an injury time winner from substitute Deniss Rakels.
Two first half goals from former Addicks striker Kermorgant gave Reading a commanding lead at the break - the first a far post header, the second an elegant right-footed finish into the top corner. Yaya Sanogo had scored a fierce effort of his own but Ola John sent the Royals into the dressing room with a 3-1 lead thanks to a cool finish towards the end of the half.
Quinn and Robson-Kanu both hit the crossbar, but Jose Riga's side showed real spirit to fight their way back into the game and Sanogo pulled one back early in the second half before levelling with a poacher's finish after Al Habsi had kept out Gudmundsson's powerful drive. But in injury time, Deniss Rakels made it 4-3 with a far post sidefooted finish from Obita's deep free kick - his first goal as a Royal sending more than 3,000 away fans wild.
Royals boss Brian McDermott named an unchanged side to start against Charlton at The Valley, Danny Williams the only change to the squad as our US international returned from injury to take a place on the bench.
The first chance fell for the Royals when good footwork from Ola John set up Stephen Quinn to drive left-footed from 15 yards out. Addicks skipper Stephen Henderson got a hand to it and tipped the ball against his crossbar and over.
Less than two minutes later though, Reading had the lead. John again the architect down the left, twisting and turning before dinking a cross to the far post where former Athletic striker Yann Kermorgant headed home unmarked for his first goal in Reading colours.
However, Charlton levelled moments later. Arsenal loanee Yaya Sanogo weaved his way past Cooper and rifled a powerful effort past Al Habsi to make it 1-1 after less than 7 minutes.
Norwood lined up a volley that almost found its way into the feet of Robson-Kanu, but Henderson was out to gather it before the Royals man could get a shot away.
Kermorgant almost gave the visitors the lead with an audacious effort from fully 40 yards that looped over Henderson and in...but the whistle had gone for a handball from the Frenchman in the build-up.
Johann Gudmundsson wriggled his way past Hector on the right and fizzed a low ball into Sanogo whose first time effort was well saved by a diving Al Habsi.
Midway through the half, Kermorgant got his head to a Norwood corner and it took a chested goalline interception from Simon Makienok to deny Reading the lead. Then at the other end, the lively Gudmundsson shot on the turn to force a relatively routine save from Al Habsi.
Yun Suk-Young delivered a tasty ball into the box from the left that Makienok nearly got an outstretched leg to in the six yard box, but it skidded behind for a goalkick.
In an open affair, Norwood was next to have a go - Kermorgant passing it into the midfielder's path and Norwood running into yards in front of him before pulling the trigger, and Henderson doing well to parry a swerving shot.
Kermorgant was back to haunt his former employers with a beautifully taken second with ten minutes of the first half remaining. Robson-Kanu threaded the ball into him, he turned back onto his right foot and then elegantly arced an effort inside the top corner of the Charlton goal for 2-1.
McShane had a glorious chance to make int 3-1 when he got his head to Norwood's free kick and glanced it wide when unmarked in the middle.
Before half-time, it was 3-1. Kermorgant threaded a lovely pass into John in behind the Addicks' back line and the winger coolly slid the ball past the onrushing Henderson to score his second goal in a Royals shirt.
Half-time: Charlton 1 Reading 3
Ola John was proving a constant threat and within two minutes of the second half he had clipped the crossbar with a powerful drive that had Henderson well beaten.
John then marauded down the left and crossed into the middle for Robson-Kanu to hook a first time effort inches over.
But Charlton got themselves back into it when Sanogo headed home from close range a few minutes later, reducing the deficit to one goal as Al Habsi failed to keep it out from point blank range.
A stunning fingertip save from Henderson pushed a wonderful Robson-Kanu drive over the crossbar and into the thousands of travelling fans.
But the game was throwing up chance after chance and Sanogo got in behind to glimpse a chance of a hat-trick, stabbing a bouncing ball wide of the onrushing Al Habsi only to see McShane recover sufficiently to hack the ball away as it bobbled towards a gaping net.
Miscommunication at the back gave substitute Zakarya Bergdich a golden opportunity to equalise, but Al Habsi did well to make himself big and save with his body.
And Sanogo crept in behind McShane to fire low at goal from a narrow angle, this time Al Habsi was down quickly at his near post to stop it in its path and gather up the loose ball before Makienok could pounce.
Charlton were certainly not giving the game up and Sanogo completed his hat-trick when Al Habsi could only shovel Gudmundsson's powerful drive into the striker's path and the Arsenal loanee converted to make it 3-3 with seven minutes remaining.
Both teams looked for a winner as five minutes of injury time were signalled. And Reading got it. A deep Obita free kick wasn't cleared by the home side and late substitute Deniss Rakels ghosted in at the far post to brilliantly pass the ball into the goal from a narrow angle and send the visiting support into raptures.
And that was enough to see Charlton's threat off and secure three points for the Royals!
Full-time: Charlton 3 Reading 4
Charlton: Henderson (c), Fanni, Teixeira, Johnson, Motta (Harriott 77), Ba (Bergdich HT), Diarra, Suk-Young, Gudmundsson, Makienok, Sanogo (Ghoochannejhad 88).
Subs: Pope, Fox, Lookman, Poyet.
Reading: Al Habsi, Gunter, Obita, McShane (c), Cooper, Hector, Norwood (Williams 65), Quinn (Rakels 84), John (McCleary 70), Robson-Kanu, Kermorgant.
Subs: Bond, Ferdinand, Piazon, Cox.
Referee: Mr N Miller