Substitutes Matt Smith and Mason Bennett found the net as Millwall claimed a 2-1 victory at Reading in the Sky Bet Championship victory at the Madejski Stadium on Saturday afternoon.
Alfa Semedo gave The Royals a first-half lead in bizarre circumstances, but Smith and Bennett stepped off the bench to turn the game on its head and extend the unbeaten run to six matches.
Gary Rowett made two changes - both enforced - from last Saturday's 4-1 victory over Sheffield Wednesday, with Shaun Williams and Ben Thompson coming in for the injured Maikel Kieftenbeld and Ryan Leonard.
Jake Cooper, Jon Dadi Bodvarsson and George Evans all started against their former club, whilst ex-Royal Alex Pearce was named on the bench for The Lions.
The first chance of the afternoon came in just the second minute, but after Williams let fly from just outside the penalty area, his shot was deflected over. From the resulting corner-kick the ball was worked out to Williams again, but he drilled wide.
The Lions kept up their fast start and forced another pair of corners, but the attack unfortunately ended with Evans crashing a header off the crossbar. Reading were failing to get far past the halfway line in the early stages and another effort went the way of Millwall in the 12th minute, but Thompson's acrobatic effort went wide.
The Royals' first effort was speculative from Josh Laurent, with his curling effort from outside the area going past the far post of Bartosz Bialkowski. However, with 18 minutes on the clock, Reading took the lead in disastrous circumstances for The Lions, as Bialkowski's roll-out to Williams was closed down by Semedo, who had the easiest of tasks to score into an empty net.
Lucas Joao then powered his way through to the edge of the penalty area as The Royals' tails were up following the opener, but his attempt was saved by Bialkowski. With a little over 10 minutes remaining until the break, Kenneth Zohore won a free-kick for Millwall, but Scott Malone's delivery was headed wide by Cooper.
Still The Lions came in search of an equaliser, and with 38 minutes played a free-kick from deep was nodded on by Cooper and fell to Thompson, but his shot was gathered by Rafael. Two minutes later a run from Michael Olise saw the attacker thread a delightful through-ball to Joao, but his strike was tipped wide by Bialkowski.
Rowett made a double change at the break, bringing on Jed Wallace and Mason Bennett for Bodvarsson and Williams, and it was the former who fashioned Millwall's first chance of the second-half on 58 minutes, but he struck over from just outside the penalty area.
Olise then tested the dive of Bialkowski on the hour-mark, before the same duo combined with the Pole parrying Olise's free-kick to safety moments later. Smith's knockdown then looked to find Zohore but the Reading defence cleared as The Lions rallied, but that moment spelled the end of the striker's game as he withdrew through injury to be replaced by Tom Bradshaw.
However, The Lions were able to find an equaliser with 13 minutes to play as after Malone's cross found Bradshaw, the striker turned and shot, only for his weak effort to bounce into the path of Smith who gleefully poked home to level the scores.
Ejaria's effort was the deflected onto the crossbar by Cooper as The Royals looked to nudge themselves back in front, before Jed Wallace made Rafael work at the other end with a low strike which was tipped wide.
But, five minutes from time The Lions were able to find a way to put themselves in front as Malone's cross was deflected on to the head of Bennett, who rose to nod past the despairing dive of Rafael.
The Royals attempted to get back in the game in its dying embers, but after stoic defending from Millwall - and a return to first-team action for Billy Mitchell - The Lions were able to claim a fantastic awayday win.
Reading: Rafael, Morrison, McIntyre, Olise, Rinomhota, Ejaria, Gibson (Baldock 87'), Joao, Laurent (Richards 87'), Holmes (Yiadom 75'), Semedo. Subs not used: Southwood, Esteves, Baldock, Aluko, Tetek, Onen, Camara.
Scorer: Semedo 18'
Millwall: Bialkowski, Hutchinson, Cooper, Williams (J. Wallace 46'), Thompson (Smith 63'), Romeo, Zohore (Bradshaw 71'), Malone, Woods (Mitchell 90+2'), Bodvarsson (Bennett 46'), Evans. Subs not used: Fielding, Pearce, McNamara, Burey.
Scorer: Smith 77', Bennett 85'
Booking: Hutchinson, J. Wallace
Referee: Andy Woolmer