A spot kick from Dan Gardner minutes before the interval gave Rovers the lead, but a superb final 20 minutes from the visitors saw Callum Paterson, Saido Berahino and Barry Bannan get on the scoresheet.
Story of the match
Sylla Sow looked to get Wednesday off to the perfect start, but his cross went over everyone.
Massimo Luongo picked out George Byers for the visitors, but some alert defending sent the ball behind for a corner which came to nothing.
Bannan thought he had played in Sow minutes later, but the cross from the striker was deflected back to Jonathan Mitchell in goal for Rovers.
The hosts had their first chance of the game when a cross was flicked onto Ro-Shaun Williams, but he could not quite meet the ball.
Doncaster were forced into an early change when Tommy Rowe had to be replaced, with Josh Martin coming on in his place.
The English midfielder nearly got off to the perfect start from the bench, when his dipping effort from range had Bailey Peacock-Farrell worried, but he was eventually able to adjust himself to catch it.
The best chance of the game so far came on the 26th minute, when Sow had a great headed chance as he was unmarked six yards out, but his header was tame and could only force a comfortable save.
The Dutchman then could not get a shot away from inside the box as the game hit the half an hour mark, with Kamberi narrowly missing the chance to get on the end of a through ball soon after.
Martin brought the ball forwards for Doncaster but his run came to nothing.
A defensive mistake from Wednesday gifted the hosts a penalty right on the stroke of half time, as two players went to tackle the Martin who was fouled, and the referee pointed to the spot.
Dan Gardner stepped up to take it, and he smashed his penalty into the top left-hand corner to give Rovers the lead against the run of play.
Byers thought he had a great chance to level the game straight after, but a wonderful recovery tackle sent the ball behind for corner.
From the resulting corner Mitchell was lucky not to punch the ball into his own net, instead the ball just scraped his crossbar before going over.
Half time saw Gary McSheffrey’s Doncaster Rovers side 45 minutes away from a vital three points against the run of play courtesy of Gardner’s penalty.
Most of the action from the half had occurred in the final five minutes before the interval, apart from Sow’s headed effort in the 26th minute.
Half time score: Doncaster Rovers 1-0 Sheffield Wednesday
Ciaran Brennan had a good chance to level the game soon after the restart for Wednesday, as he beat Mitchell to the ball from a corner but headed over.
Joseph Olowu had a brilliant chance to double Rovers' lead soon after as Williams flicked the ball onto the defender who had a tap in at the far post, but he completely missed the ball.
Substitute Callum Paterson then had a good chance for the visitors, as he was unmarked in the box and his headed effort went just wide.
Bannan then had a shot from range, which went just wide.
With 20 minutes to go Wednesday were level, as Paterson headed in having seen his initial effort saved, but the former Cardiff City striker followed the ball in to score.
Wednesday had the perfect chance to turn the game on its head when they were awarded a penalty in the 76th minute, as Paterson's shot hit a hand on its route to goal.
Mitchell made a fantastic save however to deny Bannan with his feet, saving the penalty that went straight down the middle.
Despite this, the substitutes were able to complete the turnaround soon after, as Lewis Gibson cut the all back to Saido Berahino who smashed in to turn the game on its head in the 81st minute.
Bannan got his goal in the 83rd minute, as he flicked a cross beyond Mitchell to complete a wonderful turnaround, celebrating with a jubilant away end.
Full time saw Wednesday secure a crucial three points in their play-off push, in a result that will leave Rovers wondering what happened in the final twenty minutes.
Takeaways from the match
The win for Wednesday having won four of their last six will be crucial to their play-off push, and the perfect response to their loss against Rotherham last week.
The Owls are well known to be in an injury crisis at the moment, missing several players including top scorer Lee Gregory, but still Wednesday were able to get all three points showing the character their side have.
Moore's substutions worked like a charm for the visitors, especially in the final twenty minutes which saw Wednesday put three past Doncaster.
As for Rovers, McSheffrey will be wondering what went wrong for his side, as they threw away a lead that could prove costly on their fight for survival.
Coming on at half time following a dismal first half from his side may have seemed a difficult task for Paterson, but he rose to the challenge, scoring the equaliser and winning the penalty missed by Bannan.
It would have been hard not to pick one of Moore's substitutes since they were all so influential in changing the game.
Paterson worked incredibly hard the entirety of the time he was on the pitch, helping his side to secure a fantastic win at the Eco-Power Stadium.
Doncaster Rovers: Mitchell, Knoyle, Younger, Olowu, Williams, Rowe © (Martin 23’), Jackson, Smith, Gardner, Odubeko (Agard 82'), Griffiths (Dodoo 82').
Sheffield Wednesday: Peacock-Farrell, Brennan (Gibson 71'), Storey, Palmer, Hunt, Luongo, Byers, Bannan, Johnson, Sow (Berahino 45'), Kamberi (Paterson 45').
Referee: Craig Hicks