Garcia’s one-under 71 moved him to nine under 135 overall, but his four-shot advantage from the first day disappeared as Oosthuizen (67) made an eagle and five birdies at Gary Player Country Club in Sun City, South Africa.
While Garcia bogeyed three of his last six holes, Oosthuizen came home in 32, with that eagle and two birdies on his back nine.
Garcia is seeking a third Nedbank title but first since 2003. Oosthuizen, who is from South Africa, has never won his country’s most prestigious tournament.
Mikko Korhonen (70) was third at six under, two behind Oosthuizen and three off the lead. Rory McIlroy, who is still in the running to win the Race to Dubai and end the season as European No 1, is tied for 19th after a 71.
McIlroy must win at least one of the final two events of the season, the Nedbank and next weekend’s DP World Tour Championship, to have a chance of overhauling Race to Dubai leader Francesco Molinari, who isn’t playing in Sun City.
Stephen Gallacher, the only Scot in the field, is way down the leaderboard on eight over par. He’s 17 shots adrift of Garcia after following up his first-round 77 with a disappointing 75 that included six bogeys.
Garcia couldn’t match his blistering opening-round 64 and ended with a bogey when his short par putt looped all the way around the hole and came back out. But he was still solid on a course with fast greens. “Not every day you’re going to go out and shoot 64,” Garcia said. “I feel I played quite well.”
Oosthuizen’s second round gave the 2010 Open champion the chance of a first tournament win since February 2016.
His 67 was matched by Dylan Frittelli, one of four players tied for fourth. Also in that group is Lee Westwood (69), a two-time winner at Sun City.