Amla hit 84 from just 51 balls to put himself second in the RAM SLAM run-scoring list, and shared in a 145-run stand with Van Zyl as the Cobras notched up 187 for two after being asked to bat by the Lions.
The Lions stuttered in response and, although Alviro Petersen and Neil McKenzie gave them a glimmer of hope midway through the chase, they were only able to muster 172 for eight.
The Cobras selectors had a tricky task in picking their top order, and elected to leave out Richard Levi as Graeme Smith returned to the side.
Although Smith was first man out for 10, the decision to retain Van Zyl came off as he scored 77 not out from 56 balls and his partnership with Amla carried the Cobras from 19 for one in the second over to 164 for two in the 18th.
The final target was a daunting one for the Lions, who lost the key wicket of Quinton de Kock to the returning Vernon Philander after just four overs.
Petersen and McKenzie each scored 35 as their 46-run stand kept the Lions in with a sniff, but Robin Peterson ended that stand and then picked up another two wickets in his next over to record figures of 3 for 19.
That left the Lions innings floundering and, although Chris Morris (26 not out) provided some entertainment as he swatted a couple of late sixes, they never truly threatened to break their losing streak.
With the Chevrolet Warriors being pipped by The Unlimited Titans in Wednesday’s other game, the Cobras gained a tighter grip on top spot in the standings.