Garcia, only playing in the tournament because he risked missing the next cut in the FedExCup play-offs, eagled the 18th hole to complete an impressive seven-under-par round of 64, leaving him at 13-under for the tournament.
The Spaniard's only major hiccup came on the par-four 14th where he double bogeyed as did Castro on the same hole.
Stenson was immaculate as he recorded a bogey free eight-under par 63, a round matched only by England's Justin Rose, the US Open champion who also avoided bogeys as he moved within four shots of the lead.
Overnight joint leader Phil Mickelson was unable to progress from his first round 63. He shot an even-par 71 after some wayward driving - albeit with characteristic recovery work - on the back nine where he made two bogeys and a double as well as a pair of birdies.
World number one Tiger Woods, playing with Mickelson and Masters champion Adam Scott, shot a four-under 67, with just one bogey as he ended up a stroke behind Mickelson at the end of their 36 holes together.
Garcia made a blistering start to his round, with some superb ball-striking, making five birdies and no bogeys as he reached the turn in 31.
Soft greens again made for low scoring and Garcia was clearly happy to have pushed himself to play in the tournament in order to make sure he was in the third event in the playoffs.
"It was touch and go if I was going to make the BMW Championship without playing here. Obviously being 55th - 16 guys could easily pass me if they played well.
"We decided to come here and make a little bit of an extra effort of playing obviously five weeks in a row, which I don't usually enjoy very much.
"Hopefully I'll be able to play well the next couple of days and give myself a good shot at it," he said.
PGA Championship winner Jason Dufner put himself in the frame with a second round of 66 taking him to within three shots of the lead alongside fellow American Matt Kuchar.
Exciting rookie Jordan Spieth and another young American Harris English were both four shots off the lead.