The victory is a franchise record fifth in a row for the Cheetahs in Super Rugby, and a first against the Stormers since 2007, with the success credited to the steady boot of Francis.
The 26-year-old, who has been a journeyman in this competition having also turned out for the Stormers, Bulls and Lions, kept his nerve in the 84th minute to land a three-pointer from the touchline.
"It could have gone either way, but we kept calm and in the second half were better in the set-pieces that gave us some ball to play with," Cheetahs skipper Andries Strauss told a local TV station.
The Stormers can only have themselves to blame in gifting opportunities to their hosts all through the match, starting with the Cheetahs opening try.
Prop Steven Kitshoff dropped the ball in the Cheetahs 22 when the visitors were on attack. The ball was hacked forward and as Stormers full-back Jaco Taute casually jogged back to collect, he was scragged by Piet van Zyl and the turnover made. The Cheetahs moved the ball wide quickly and the excellent Robert Ebersohn dived over for the score.
But after that it was all Stormers in the first half and Juan de Jongh crossed the line twice. The first was from a flowing move that saw the centre cross in the corner, picking up the ball a yard out and dotting over. The second came from a quick penalty take from skipper Jean de Villiers.
Another Stormers error gave the Cheetahs their second try, scrumhalf Nic Groom taking too long to kick from the base of the scrum and Sarel Pretorius collected the ball in his mid-drift and raced clear to dot down.
Two Joe Pietersen penalties gave the visitors a 21-17 lead, but Francis booted the Cheetahs back ahead. A penalty was followed by a 40-yard drop-goal.
Pietersen put the Strormers in the lead again with a penalty, after which they were left to hold on against some incessant Cheetahs pressure.
The Stormers had a scrum feed with seconds remaining on the clock, but the Cheetahs manufactured a tight-head and that set the home side on the attack.
Damian de Allende was eventually penalised for not releasing in the tackle and Burton booted the ball over to give his side the win.
"We were beaten by a quality side, they have good momentum and are playing with a lot of confidence. The last (referee) call I thought could have gone for us, but it didn't and that is rugby," Stormers captain Jean de Villiers said.