Compatriots C Muniyappa (69) rose to tied 37th at 143, two strokes ahead of Jeev Milkha Singh (72) who was tied 45th after the second round at Sheshan International Golf Club.
Gaganjeet Bhullar (150) was the lone Indian who could not improve his position and followed up his opening round 74 with 76 to slip to tied 70th.
World number one Tiger Woods took his customary position at the top of the leaderboard, tying for the halfway lead with Nick Watney after shooting a second straight five-under 67.
The American world number one endured a frustrating front nine but stormed home with four birdies to join overnight leader Watney (70) on 10-under 134.
Randhawa, a 10th tee starter, was even-par at the turn and he sunk three birdies, against one bogey, in his front nine to sign off with his second successive sub-par card.
It was a welcome return to form for the former Asia number one, who won the Singha Thailand Open earlier this year on the Asian Tour but failed to maintain his momentum.
Randhawa, however, felt there was enough room for improvement in the short game department and hoped his putting would improve over the next couple of days.
"I need to putt better than this. The greens are tricky but guys are holing putts. It's a putting contest now. Whoever makes a lot of putts is going to win because the greens are very tricky," said the lanky golfer, who enjoyed a top-10 at the HSBC Champions in 2006.
"But you know, I'm well focused and whenever I got a chance I took advantage of that and that was a good point today," Randhawa said.
Muniyappa, also playing his back nine first, was one-over after his first six holes before he bounced back, firing four birdies over his next five holes to bring home the best card of the day by an Indian.
Jeev mixed five birdies with as many bogeys in his even-par second round, while Bhullar managed just one birdie as against five bogeys.
Jyoti Randhawa ends 51st
Jeev slips to tied 8th after round 2
'My dream has always been to play with Tiger'
Jeev Milkha Singh eyes major glory