Full-time from the Madejski Stadium
But Ricardo Fuller, returning to the team in place of Mathias Ranegie, reduced the arrears six minutes before half-time with his first goal for Millwall to give Ian Holloway's side hope with Mark Beevers levelling the score at 2-2 eight minutes after the break.
The Lions were looking exellent value at this stage, but it was Reading who once again proved to be Millwall's nemesis with Cox bagging an 85th-minute winner from close range.
Beevers twice did well to get on the end of deliveries with headers, but his efforts were comfortably dealt with by Federici as Reading held out for a victory they really did not deserve.
Back came The Lions, now with Ranegie on in place of Chaplow, and Woolford was just inches away from a sensational third, equalising goal with a stinging effort that was so, so close.
Unfortunately when Obita took the resulting corner, the ball was flicked on and there was Cox to convert Reading's third goal from barely four yards.
Moments later Upson's rasping 25-yarder stung the palms of Federici before Forde proved his worth again for Millwall, saving at point-blank range from Murray.
Reading's Obita could count himself a very lucky man indeed to escape a yellow card 13 minutes from time hen he fell to ground dramatically clutching his face after going shoulder to shoulder with Fuller for a challenge when there appeared to be no contact.
McDonald smashed over from 20 yards as shell-shocked Reading were rocking and Upson was introduced in the final quarter of an hour as The Lions went for the kill.
Back came Millwall again and when Fuller was fouled by Obita on the right, Woolford whipped over the resulting free-kick and Beevers stole in at the far post to nod home the equaliser and send the visiting Lions fans behind the goal wild.
The hosts carved out the first scoring opportunity of the second period with Jamie Mackie's inviting delivery inches away from the boot of Murray in a central position whilst at the other end the persistence of McDonald set up Woolford, who weaved his way past three players before having the ball nicked off his toes as he shaped to shoot.
Malone tried his luck from distance in the first minute of injury-time before an almighty scramble on the stroke of half-time saw both Fuller and Onyedinma have stabs at the ball, the latter denied by that man Federici once more to maintain Reading's slender advantage heading into the break.
It could have been 2-2 just two minutes later when Edwards set up Fuller, and the striker's thumping effort was again tipped over the bar by Federici.
There was to be no denying The Lions the goal that their patience and pressure deserved, and that lifeline headed the visitors way seven minutes before half-time. The increasingly influential Malone made another dangerous, surging run into the heart of the home defence and picked out Fuller, who calmly slotted home from 12 yards.
Another promising Millwall move after 32 minutes came to a frustrating conclusion as Fuller twice had efforts on goal, but without really testing Federici and then Onyedinma's cross towards Woolford was cleared by a defensive boot as The Lions man prepared to shoot.
Woolford tested Federici in the 29th-minute, working an opening after some good play between Onyedinma and McDonald, but his low grubber was held by the Reading keeper.
Six minutes later The Lions made their first substitution of the night, replacing Webster with Martyn Woolford in a move that saw Dunne and Edwards revert back to their usual position in defence and Woolford operating on the right of the front three.
Millwall were a whisker away from reducing the arrears after 20 minutes, only to twice be thwarted by keeper Federici, who first expertly blocked the over-lapping Malone's fierce drive and then superbly tipped McDonald's goal-bound follow-up over for another corner.
However there was to be no respite and when Webster fouled Blackman in the penalty area, the Royals man picked himself up, dusted himself down and made no mistake, firing home the spot-kick into the bottom left corner.
Reading surged forward in and created two good chances in as many minutes around the 10-minute mark. First, Glenn Murray got into a good position, only to screw his shot wide of the target with the goal begging and then Murray wastefully headed over from Jordan Obita's pinpoint delivery.
Reading dealt comfortably with Chaplow's resulting delivery and three minutes later keeper Federici collected another corner from the same player. On this occasion, he released the ball quickly upfield with a long kick that was picked up by Cox who too easily evaded the attention of four Lions players before dispatching a low drive into the bottom corner beyond the reach of David Forde.
Ironically it was Millwall who were denied an opening goal in the opening two minutes by the athleticism of Adam Federici in the home goal. Scott Malone started the move in his own penalty area, moving forward before sliding a ball through to Scott McDonald, who then fed Onyedinma on the left. The latter picked out Fuller, whose bullet header was brilliantly tipped over by the Reading keeper for a corner.
Up against a Reading team high in confidence following three successive victories, and with a poor record against The Royals in recent years, on paper at least, the odds looked to be tipped the hosts' way - and those odds were stacked further against The Lions as Reading stormed into a 2-0 lead with less than quarter of an hour on the clock.
The shape of the team remained the same as it has for the majority of the season - a 4-2-3-1 formation - it was simply the playing personnel that was significantly different this time out.
Federici, Gunter, Pearce, Norwood, Cox, Obita, Hector, Akpan (Edwards, 77mins), Mackie (Taylor, 69mins), Murray, Blackman (Cooper, 86mins). Subs not used: Pogrebnyak, Kuhl, Andersen, Long.
Forde, Dunne, Webster (Woolford, 26mins), Beevers, Malone; Abdou, Chaplow (Ranegie, 85mins); Edwards, McDonald, Onyedinma (Upson, 74mins); Fuller. Subs not used: King, Briggs, Easter, Gueye. Millwall:
Webster (14mins), Upson (76mins) Bookings: Fuller (39mins), Beevers (53mins)Scorers:
Ref: 15,091 (away 871)Att: