The League One tie saw the visitors miss several chances, including Conor Washington's first half penalty and Stockley hitting the bar from an open goal after the break.
It was a game in which Rovers were arguably fortunate to lose by just the one, as the side who currently sit in the relegation zone failed to create many chances of their own in the tie.
Story of the match
Ben Jackson made a vital clearance off the line to prevent the visitors taking the lead within the first five minutes.
Adam Clayton aimed a long ball towards the Rovers front line, but he could not quite get the range of his pass right and it went out for a throw in.
The Addicks had a rather tame first shot on target of the game when Conor Washington side footed a volley from range straight at Jonathan Mitchell in goal.
Rovers' top goal scorer Tommy Rowe had a penalty appeal waved away when he beat Craig MacGillivray to the ball and he made contact with the midfielder, but nothing was given.
Washington thought he was in on goal, but Mitchell was on hand to take the ball off him just in time.
Corey Blackett-Taylor won a penalty for the visitors in the 15th minute after he was brought down in the box.
Washington stepped up to take the spot kick, but it was saved by Mitchell who went right and got two hands on the ball to keep the game level.
Alex Gilbey was fortunate not to see red when his high challenge on Jackson was only given a booking by referee Sam Allison.
Rowe aimed a pass for the back post, but it was cleared away.
His shot went straight at Mitchell from close range.
The chances did not stop there for Charlton, as Stockley headed straight at Mitchell when he was left unmarked from inside the six yard box.
Jackson then found himself with the ball in a three-on-three for the hosts who had found themselves with very few openings in the first half.
The Englishman wasted the opening for Rovers though, as he held onto the ball for too long as was caught by a Charlton defender.
Clayton made an important tackle to prevent Blackett-Taylor from breaking away on the left-hand side.
Matt Smith volleyed the ball goalwards for Rovers, but it was blocked.
The game was goalless at the interval, and Washington and Stockley will have been wondering how they were not able to score for the visitors before the break.
The pair had been presented with sitters for Johnnie Jackson's side to take the lead, but had so far failed to take any of them.
Gary McSheffrey would have gone into the break the happier of the two managers with the score line.
Half time score: Doncaster Rovers 0-0 Charlton Athletic
Stockley had another good chance to start the half, this time heading the ball wide from inside the box.
Blackett-Taylor then had a cross headed away which was aimed for the back post.
A cross was flashed across the Rovers box, but it could not be met by a Charlton player.
Jordy Hiwula looked to cross the ball into the back post, but it was sent behind for a Doncaster corner.
The hosts had a penalty appeal turned down by the referee as a couple of players were involved in tangles from a corner that were not deemed to be fouls.
Kyle Knoyle volleyed the ball just wide as Rovers continued to grow into the game.
Stockley then got his goal for the visitors despite Doncaster's improvements.
The 68th minute goal to break the deadlock saw Blackett-Taylor beat his man and cross for Stockley, who dispatched it into the bottom-right hand corner.
Blackett-Taylor had a shot of his own saved by Mitchell a few minutes later.
Stockley missed an incredible chance to double the lead as the game approached the final 15 minutes.
Washington saw his one-on-one save but only as far as Charlton's number nine, who hit the crossbar with an open goal to keep the game at just 0-1.
Rovers tried to claw the game back in the final stages, with a succession of deep crosses into the box but they were unsuccessful for the hosts.
The final chance of the game fell to Rowe, who saw his shot saved by the feet of MacGillivray.
Full time saw The Addicks win their third game in a row, in a match that was made far more difficult by the visitors than it needed to be, but they were able to see off Rovers to get the win.
Takeaways from the match
Charlton had several chances in the first half which they failed to take, which they were perhaps fortunate to avoid paying the price for once top scorer Jayden Stockley scored his 16th goal of the season for Charlton.
It was the number nine who had failed to take several chances before the break, and then an open goal in the second half, which Charlton were fortunate to get away with missing.
Conor Washington also missed a penalty in the first half and plenty of chances of his own to score.
However, the visitors were able to keep going even when they were not at their best in front of goal to score, which was enough to get them the win on the day.
Rovers suffered yet another defeat in what was a great chance to close the gap to safety.
They gave away far too many chances and were lucky to not lose by more, as well as being rather muted up front.
It was a concerning performance by McSheffrey's side, who will need to start picking up points very soon if they want to survive in League One.
Corey Blackett-Taylor scored in his last game against Burton Albion in a 2-0 win, and it was clear that he took the confidence from that performance and used it in his impressive display against Rovers.
The 24-year-old caused all sorts of problems for the hosts on the left flank, assisting Stockley's goal.
Blackett-Taylor won the penalty for The Addicks in the first half, which was missed by Washington.
He used his pace to make some clever runs towards goal, often beating two or three players to create a chance for his strikers.
The former Aston Villa winger was unfortunate to leave the Eco-Power Stadium with more assists on Saturday afternoon, having created plenty of chances for Stockley and Washington.
Doncaster Rovers: Mitchell, Knoyle, Olowu, Williams, Clayton, Rowe (c), Jackson (Martin 71'), Smith (Bostock 75'), Barlow (Younger 45'), Hiwula, Dodoo.
Charlton Atheltic: MacGillivray, Lavelle, Clare, Purrington, Matthews, Gilbey, Blackett-Taylor (Famewo 89'), Fraser (Lee 89'), Dobson, Washington, Stockley (c).
Referee: Sam Allison