The 22-year-old South African set up his 15-foot eagle putt at the 16th with a spectacular 3-iron shot he blasted more than 230 yards into the wind at the end of a long day.
'I put a great swing on it,' Schwartzel said -- and the shot couldn't have come at a better time.
He had been tied for the lead with Randhawa, who was in the clubhouse and watching on television as Schwartzel rolled in his eagle putt. Noticing they had cut to him, Randhawa feigned a smile and looked away.
Schwartzel went on to bogey the 18th and finished at 16-under 272. His first win came in December 2004 at the dunhill championship in his native South Africa.
He was just 20 then.
'It's a fantastic feeling (to win again). I've always played well in Spain,' Schwartzel said. 'I thought if there's a place I could win it would be in Spain.'
Randhawa, still looking for his first European Tour win, ended alone in second place at 15-under 273 following a round of 67. His biggest mistake in the final round was probably a missed 18-inch par putt at the 15th hole.
Carlos Rodiles shot a 72 and finished in third place at 14-under 274. Rodiles could have forced a playoff with an eagle at the 18th, but he bogeyed the hole instead.
Simon Dyson (71) and Mark Foster (68) tied for fourth place at 13-under 275, while Fredrik Andersson (68) and Andres Romero (66) were another shot further back at 276.
Schwartzel's dramatic surge into the lead came at the end of a long day that began with the completion of the third round. Three days of weather delays totaling nearly 12 hours pushed the bulk of that round to Sunday morning.
When the last round finally began, Schwartzel was three shots off Rodiles' 54- hole lead. But as it wound down, he found himself chasing Randhawa, finally catching the leader with a birdie at the 13th hole.
Watching the leaderboard and knowing he needed to make something happen, Schwartzel came up with his 3-iron shot at the 16th -- stunning Randhawa, who had just finished an interview behind the 18th green.
'I always look at the scoreboard,' Schwartzel admitted. 'People say they don't look at the scoreboard, but I like to know what's going on. The eagle at 16 gave me a cushion coming down the stretch.'