Els, who was the first-round leader at eight-under, reached the turn on level par for the day before carding a 29, including his second eagle on the par-5 15th, to move to 15-under, four shots ahead of Greg Owen and Robert Allenby.
"I wasn't trying to shoot a 29, it just happened," Els said. "I guess I have to thank the architect. I enjoyed it. I all came together for me."
It was a masterful back nine for Els, who is chasing his fifth tournament win in six starts after he had found the water on the par-5 fifth for a bogey. He birdied the 11th, then landed his tee shot within inches on the par-3 12th to pick up another stroke. He carded a pair of threes before an eagle on 15 elevated him three shots clear of the pack as 14-under-par.
Els' homeward 29 and seven-under round of 65 was sealed with a 33-foot putt on the last.
"That was nice," he said. "I didn't expect that to go in."
Els leapfrogged back over Owen and Allenby, the No. 1 in Australia, who had both shot stunning second rounds of eight-under 64.
Owen, who finished in the top 40 of the European Order of Merit for the last three years, converted seven birdies as well as an eagle on the par-5 15th.
After pulling out of the Heineken Classic with a bad back and missing the cut at last week's ANZ Championship, Owen was delighted by his showing at the Lake Karinyup Country Club.
"I was a lot more consistent," he said. "I've driven the ball well the last couple of weeks, but the iron play has been off. I've just found a feeling in my swing which seems to get it going in the right direction. I've just got to trust it now and keep trusting it. I don't see why it should be a problem for the weekend."
Allenby teed off on the 10th and reached the turn at 33, before carding birdies on the third, fourth, and fifth to surge to 10-under. He picked up his final birdie on the last for a solid round which left him closer to Els than he had imagined.
"I played pretty well and made a few more putts than yesterday," said Allenby, who began the day five strokes off the lead. "At the moment Ernie is really tough to beat at whichever tournament he tees up in. I knew I had to shoot 8 to 10-under. If I could get to 11, 12, 13 I thought I would still be behind, but closer to the lead than when I started. (But) I am feeling really fresh and strong and I'm hitting the ball really well. I think this year is going to be a really good year."
Stephen Leaney bogeyed the last, his first of the tournament, to finish the day at nine-under and tied for fourth with France's Jean-Francois Remesy.
Andre Stolz of Australia was alone at eight-under with defending champion Retief Goosen a shot back after a 65 on Friday.
Ian Woosnam and Paul McGinley both carded 71s to reach halfway at six-under, while Nick Dougherty was one further back after picking up six shots to finish level with Warren Bennett, Niclas Fasth of Sweden, and David Smail of New Zealand.
Sergio Garcia reached halfway at level par after a two-under 70.
Soren Hansen of Denmark was disqualified from the tournament after failing to turn up for his tee time, but there were cheers for Singapore's Mardan Mamat, who aced the 219-yard eighth hole to register his first in competitive golf.