Somerset, who lead the Second Division, needed 229 to win but were bowled out for 215 in the final over despite an elegant 75 off 102 balls by their opener Jamie Cox, whose departure ended Somerset's hopes.
The Welsh county were scarcely helped by injuries to the seamer Andrew Davies, who dislocated his shoulder bowling the last ball of the first over in Somerset's innings, and to Adrian Dale, their all-rounder, who left the field immediately after Davies because of a back spasm. However, they stuck to their task and Cox could find no-one to stay with him long enough to make an impression.
Jason Kerr holed out to mid-on, Piran Holloway was caught off his glove trying to hook and Michael Burns was beaten by late movement and was bowled.
Marcus Trescothick, celebrating his selection for this winter's England A tour, helped Cox add 55 in 11 overs for the fourth wicket before pulling Matthew Maynard to square leg. This was the Glamorgan captain's first wicket in 15 seasons of league cricket.
When Cox drove high to mid-on Somerset needed 83 in just under 12 overs and despite some lusty blows by Keith Parsons and the wicketkeeper Rob Turner, another England A tourist, they could not quite make it.
Kallis came to the wicket in the second over of the Glamorgan innings when Steve James was trapped lbw, and the South African was dropped at first slip off Andy Caddick before he had scored. It proved to be an expensive miss. After losing Darren Thomas, dropped twice off the unlucky Caddick before skying to point, Kallis and Maynard shared a third-wicket stand of 88 in 16 overs. Maynard reached 50 off 44 balls before edging Steffan Jones to Turner.
Kallis and Dale then added 96 in 18 overs for the fourth wicket before Dale was bowled for 41. Kallis reached his century off the first ball of the final over - it took him 129 deliveries.
Michael Slater will not be returning to Derbyshire next season. The Australian joined the club in 1998 but scored only two first-class centuries in two seasons. Another Derbyshire batsman, Tim Tweats, is to retire from the first-class game.Reuse content