The left-hander made 114 not out after the start of play was delayed until 14:00 BST because of a wet outfield.
He shared a stand of 142 with Kumar Sangakkara, who was caught behind off Jake Ball for 83 soon after tea.
Pace bowler Ball claimed 3-77, but Surrey, having followed on, reached the close on 297-5, a lead of 76.
Harinath scored 568 runs in eight first-class appearances for Surrey last summer, including two centuries.
He again showed a clam temperament to hold the innings together with one six and 15 fours after Rory Burns (17) was lbw to Ball in only the second over of the day.
Sangakkara also looked in good touch before he and Steven Davies departed in similar fashion in the same Ball over.
Jason Roy made a typically assertive 37, but was then lbw to Brett Hutton, leaving Harinath to bring up his century with a sweep for three off Samit Patel.
Opener Arun Harinath hit an unbeaten century as promoted Surrey avoided the prospect of an innings defeat on day three against Notts at Trent Bridge.