Dunne, who held off Rory McIlroy to land his maiden European Tour victory in the British Masters at Close House last October, carded nine birdies and two bogeys to add a 65 to his opening 66 at the Centro Nacional de Golf.
At 13-under-par, the former Walker Cup player sits three strokes ahead of Spaniard Nacho Elvira (66), Australia’s Brett Rumford (66) and Englishman Callum Shinkwin (67).
Warren sits a shot further back alongside world No 4 Jon Rahm, England’s Robert Rock and Sweden’s Henric Sturehed.
Dunne, who recorded top-ten finishes on the PGA Tour in his last two events, is in pole position after posting his lowest 36-hole total on the European Tour.
“The game is in good shape, I’m feeling good, I feel confident around this course so hopefully a couple more good rounds and give myself a chance,” he said,
“It’s been trending the right way for a while and I have a nice run of events here in Europe over the next few weeks as well so I’m looking forward to that.”
Warren, who started the day tied for the lead with Dunne, was one-over at the turn before storming home four-under 32 – one more than he’d covered his inward nine in the opening round.
Pre-tournament favourite Rahm started his second round with an eagle on the opening hole and came close to finishing with one as well. That was one of four birdies on his card but he had to settle for a 68 after pulling his approach shot to the 12th into the water trap.
“I can’t remember a round where I’ve hit it tee to green as good as I did today,” said Rahm, who finished fourth in the Masters on Sunday.
“I only made one mistake on number 12 but, besides that, tee to green was outstanding.
“The driving is about as good as I’m going to hit it, ever. It’s just too bad it was the same as yesterday. I wasn’t able to make the putts.”
Warren was joined in the final two rounds by three of his compatriots. Bradley Neil and Richie Ramsay both took route 66 to sit on seven-under and five-under respectively, while Stephen Gallacher made it on four-under after two 70s.
Despite a battling 65, Paul Lawrie missed out by one along with David Drysdale and Scott Jamieson, while Connor Syme also suffered an early exit.