Christian Jonker’s unbeaten 63 from 29 balls proved the difference as the Warriors kept their hopes of a Momentum One-Day Cup play-off alive and ended the Knights’ participation in the competition with a four-wicket win in Kimberley.
After Colin Ingram had struck an assured 93 from 84 balls, Jonker provided the finishing touch to see the Warriors to a target of 288 with five balls remaining.
Although the Warriors remain bottom of the table, they can still scrape into the play-off if they win their remaining two games and other results go their way.
A win for the Knights would have moved them up to third, but instead they stayed in fifth place with no games left to play.
Jonker arrived at the crease with the game very much in the balance, with the Warriors needing 99 runs from 65 deliveries with six wickets in hand.
It took him just five balls to hit the first of his five sixes, and he refused to be put off when Ingram sliced a drive to Pite van Biljon at backward point to leave Jonker with all the responsibility.
The pressure grew when Rusty Theron fell to Dillon du Preez (3 for 56), but Jonker found an able partner in Darryl Brown (15no) and the pair finished the job in style.
The Knights innings was based around a 100-run partnership between Rudi Second (71) and Van Biljon (86), which set them up for a big push at the end.
However, they were hampered by the dismissal of both batsmen just as they were looking to kick on, as well as the superb death bowling of Theron, whose last two overs cost eight runs and included a wicket.
Lundi Mbane’s double strike also hindered the Knights – he dismissed Obus Pienaar (33) when he was in full flow and then Michael Erlank – which ultimately left the hosts a touch short.