The Scot snatched three birdies on the back nine at the Gary Player Country Club to post a three-under-par 69 and a four-under tally of 140, one ahead of European Ryder Cup team mate Martin Kaymer of Germany (69).
"I struggled a bit with the driver so I hit a lot of three woods off the tee," 1999 Open winner Lawrie said. "I also hit a lot of good shots with my irons. The greens though are a little slow and I felt I left a few putts out there."
American Bill Haas (73), the joint overnight leader alongside Belgian Nicolas Colsaerts, was in a tie for third place on 143 with Italian Francesco Molinari (71) and South Africans Louis Oosthuizen (72) and Charl Schwartzel (71).
"The leaderboard is pretty packed," said Lawrie. "It's a case of so far so good for me but there is still a long way to go."
Kaymer came out of the blocks fast as he fired three birdies in the opening seven holes.
Back-to-back bogeys at the eighth and ninth halted his progress but he then picked up two more birdies coming home.
"It was a very good round. I hit a lot of good tee shots and once you hit the fairways here you can score well," said Kaymer.
"Unfortunately I hit it in the water at the ninth and made bogey there but three-under is a very good score on this golf course."
Oosthuizen woke up feeling under the weather and a double-bogey six at the 17th did nothing for his mood. But a closing birdie at the last hole represented something of a pick-me-up.
Defending champion Lee Westwood, the world number six, had a topsy-turvy round as he compiled a 73 containing two double bogeys to take seventh place on 144.
Colsaerts made a nightmare start by carding sevens at the second and third holes and eventually ballooned to a 78 for 148.
World number four Justin Rose, the highest-ranked player in the field, slumped to a 79 and was in 12th and last spot on 152.
Leaderboard (Par 72)
Name Score R1 R2
1. Paul Lawrie -4 71 69
2. Martin Kaymer -3 72 69
T3 Bill Haas -1 70 73
T3 Francesco Molinari -1 72 71
T3 Louis Oosthuizen -1 71 72
T3 Charl Schwartzel -1 72 71
7. Lee Westwood E 71 73
8. Peter Hanson +1 72 73
9. Carl Pettersson +3 72 75
T10 Nicolas Colsaerts +4 70 78
T10 Garth Mulroy +4 75 73
12. Justin Rose +8 73 79