Despite its Cape Town disappointment, South Africa still leads the overall series standings, now by two points from England with Fiji third.
An improved performance but the All Blacks Sevens team have been beaten in the semi finals of the Cape Town Sevens by hosts South Africa.
Meanwhile, New Zealand had to pull out all the stops to beat the feisty Scots who had opened the scoring through a try to Dougie Fife, quickly matched by a try to Dylan Collier to tie it up at 7-7.
England fought back against the hotly-favored South Africans after falling behind early, and prevented South Africa, winners last weekend in Dubai, from clinching a second straight title to start the season.
However, the day's drama was by no means over as England, hammered by New Zealand in pool play, upset home town favourites South Africa 19-17 in the final.
Antonioa Kiri Kiri crossed after the restart to put New Zealand ahead 19-12 before Scotland levelled up at 19-19 with a minute remaining, leaving Ruru to seal victory at the death.
England went on to beat their neighbours Scotland 33-14 in their semi final before an unlikely win over the red hot Blitzboks to secure their first tournament win since Tokyo past year.
The Blitzbokke will play England in the Cup final.
England, without a tournament win since Tokyo in April 2015, rallied and McConnochie went over to restore its lead.
As South Africa continued their pressure, a dream pass by Tom Mitchell out to the left gave Ruaridh McConnochie a chance to score the winning try.
Dan Norton added another try for England for a 12-5 lead at the break.
New Zealand lost a physical semifinal 14-7 to the same side they were thumped by 40 points last weekend in Dubai.
The third leg of the tournament takes place in Wellington on January 28-29.