Parnell’s unbeaten 74 carried the Warriors to a total of 353, and he then shot out the Dolphins openers cheaply to make sure that the hosts were unable to make a stable start to their reply.
With Simon Harmer chipping away and picking up three wickets, the Dolphins were battling on 262 for eight when bad light brought play to a slightly premature end.
The Warriors began the day on 290 for five, but lost Colin Ingram for his overnight score of 63 in the second over of the day.
As the Warriors lower order failed to deal with Imran Tahir (4 for 83) and Robbie Frylinck (3 for 59), Parnell cut loose to add 42 runs to his overnight score and ensure that the Warriors total was moved along.
The all-rounder then struck twice in the opening 15 overs of the Dolphins innings, which only gained some purchase when Vaughn van Jaarsveld and David Miller (38) combined in a 74-run stand for the fourth wicket.
Harmer (3 for 102) made the breakthrough when he trapped Miller lbw, and later dismissed Van Jaarsveld for 71 to keep the Warriors on top in the game.
Ryan McLaren’s unbeaten 38 and Tahir’s run-a-ball 21 not out meant that the Dolphins lived to fight another day though, and have a chance to reduce the 91-run deficit currently facing them.