Prince (63) and AB de Villiers (45) were out in the final session to leave the match on an even keel after a slow but hard day on a pitch that had bounce and encouragement for the bowlers.
Mark Boucher was not out on nine and Andre Nel yet to score when bad light ended play seven overs before the close of play.
Prince was bowled by left arm spinner Abdul Rehman, who beat him in the air and turned one in sharply, after a patient innings that spanned 132 balls and 180 minutes with five fours.
Scorecard | Photo gallery
He put on 83 for the fifth wicket with de Villiers, who was caught out of his crease as a drive by Boucher was deflected by bowler Mohammad Asif on to the stumps.
South Africa were 47 for two after losing Herschelle Gibbs (13) and Hashim Amla (10) in the first session to Umar Gul and Mohammad Asif.
But Prince anchored the innings after Kallis made a fluent 59 runs to follow up on his two centuries in the first test win in Karachi.
Leg spinner Danish Kaneria, who bowled 27 overs from one end, grabbed the wickets of captain Graeme Smith (46) and Kallis.