The tourists resumed on 99-3 but slipped to 148-8 as five wickets fell for 15 runs, Junior Dala taking 5-34.
Ben Stokes' brisk 27 helped England to 190 all out, setting the hosts a nominal 473 to win, but they were 5-0 after two overs when the rain came.
England begin the first Test against South Africa in Durban on Boxing Day.
The visitors had dominated the first two days of this opening warm-up game, but Zambia-born seamer Dala accounted for overnight batsmen Joe Root (39) and Gary Ballance (25) who added 50 for the fourth wicket.
Keeper Jonny Bairstow was caught behind for a first-ball duck off left-armer Dieter Klein at the other end, before Moeen Ali (20) and Stokes, batting at 10, steadied the ship.
However, it was spectacular thunder and lightning which ultimately denied them the opportunity to try to bowl the hosts out and force victory.
England's final warm-up before the Tests is another three-day game against South Africa A at Pietermaritzburg, beginning on Sunday.
England's warm-up match against a South Africa Invitation XI was abandoned as a draw as heavy storms wrecked the third and final day in Potchefstroom.