Van Jaarsveld guided the Dolphins from a tricky position of 108 for four in the 26th over to a final total of 249 for nine as he hit 105 from 96 balls, and then took an important catch to end a stubborn partnership as the Cobras threatened to chase their target.
Rory Kleinveldt put on 68 for the ninth wicket with an injured Justin Kemp as the Cobras edged towards victory, but Van Jaarsveld held on to dismiss the batsman and the Cobras were eventually bowled out for 224 in the 47th over.
Although the Cobras still finished top of the table because the Titans were beaten by the Warriors, the result moved the Dolphins into second place ahead of their final group game against the Titans in Durban on Sunday.
The winner of that game will host the play-off on Tuesday.
What made Van Jaarsveld’s hundred impressive was that he was on just 22 when he effectively inherited the responsibility of the Dolphins innings.
Sybrand Engelbrecht took a good catch and effected a run-out in the space of two balls to leave the visitors four-down, but Van Jaarsveld soon took the initiative with a sharp counterattack that allowed his new partner Daryn Smit to hold up an end.
After Smit was bowled by Robin Peterson (2 for 37), Van Jaarsveld continued his attack until he fell to Mthokozisi Shezi in the final over.
His knock gave the Dolphins the momentum, and they quickly reduced the Cobras to 19 for four before Andrew Puttick (44) and Dane Vilas (65) revived the innings.
When a second collapse left the Cobras 143 for eight the home side looked dead and buried, but Kleinveldt (46) and Kemp (31 not out) edged them closer until Andile Phehlukwayo (3 for 54) and Robbie Frylinck (2 for 21) made the final breakthroughs to give the Dolphins a vital win.