South Africa, who needed 355 to make the West Indies bat again, reached 269 for four in their second innings before the teams shook hands on a draw.
Kallis scored 109 not out, equalling Gary Kirsten's South African record of 21 Test centuries.
Herschelle Gibbs [ Images ] scored 49 in a fourth-wicket stand of 139 that deflated the West Indies hopes of forcing the victory after they had dominated the opening four days.
West Indies, who began the day with high hopes of a victory with South Africa on 85 for two, were made to pay for Kallis being dropped on 22 by wicketkeeper Courtney Browne off captain and leg-spinner Shivnarine Chanderpaul [ Images ].
South Africa also survived a chance in the fifth over of the day when Jacques Rudolph, still on his overnight score of 19, glanced a leg-side delivery from fast bowler Daren Powell [ Images ] that Browne failed to hold.
Rudolph, who also survived chances on two and 14 on Sunday, was eventually trapped leg before for 24 by debutant off-spinner Narsingh Deonarine before lunch to end a third-wicket stand of 51 with Kallis.
However that was the West Indies' only success until the 22nd over after tea when Gibbs left a delivery from left-arm spinner Ryan Hinds that pitched outside leg stump and turned sharply to clip off stump.
Chanderpaul, standing in as skipper for Brian Lara [ Images ] who was left out along with six other players because of a dispute over personal endorsements, bowled his leg-spinners, and employed Deonarine and Hinds for most of the first 30 overs of the lengthened morning session.
He took the second new ball 13 overs after it was due, but his pace attack of Powell, Pedro Collins and Reon King, who shared nine wickets in the first innings, made little impression despite the variable bounce in the pitch.
The second of the four Test matches in the series starts in Port of Spain, Trinidad, on Friday.
West Indies 1st innings: 543 for 5 decl (W. Hinds 213, S. Chanderpaul 203 not out)
South Africa 1st innings: 188
South Africa 2nd innings: (Overnight: 85-2)
A. Villiers b King 20
G. Smith b Collins 34
J. Rudolph lbw b Deonarine 24
J. Kallis not out 109
H. Gibbs b R. Hinds 49
M. Boucher not out 4
Extras (b-16 lb-2 nb-9 w-2) 29
Total (for 4 wickets, 161 overs) 269
Fall of wickets: 1-46 2-68 3-119 4-258Did not bat: A. Hall, N. Boje, M. Ntin i, C. Langeveldt, A. Nel
Bowling: Collins 24-10-44-1 (nb-1), Powell 28-15-46-0 (w-1), King 24-5-54-1 (nb-8 w-1), W Hinds 14-5-16-0, R Hinds 27-13-27-1, Deonarine 30-15-35-1, Chanderpaul 13-6-25-0, Ganga 1-0-4-0