The Yellow Submarine are chasing a Europa League berth but failed to compete properly for any points from La Rosaleda, where Roque Santa Cruz boosted the hosts into an early lead.
Sergi Darder put Malaga out of sight with a second goal in the 53rd minute and Bernd Schuster's men safely navigated their way to full-time despite the bizarre dismissal of Nordin Amrabat.
Malaga now occupy 10th place while Villarreal remain in seventh and two points behind Real Sociedad.
Villarreal were caught on the hop from the off by a rather impressive finish from Santa Cruz.
With only six minutes on the clock at Rosaleda, the Paraguayan controlled Samu's pass from the right with one touch before pinging the ball home from a difficult angle with his second.
Villarreal pushed back immediately and Willy Caballero had to look lively to drop and make a smart save from the onrushing Jeremy Perbet.
Santa Cruz and Amrabat both screamed efforts past the visitors' goal before, in the 32nd minute, Vitorino Antunes sent a screeching drive just over Sergio Asenjo's crossbar.
Antunes was the last man to threaten the scoreline before the break but his fizzing drive skipped across the goalmouth and wide of the far post.
If Asenjo thought he would have an easier time of it in the second half he was mistaken and Duda tested his reflexes with an outrageous lob from 40 yards that sent the Villarreal keeper scrambling.
He was soon traipsing into the nets to pick out Malaga's second goal.
On this occasion Amrabat got free down the left to feed Darder, who arrived at speed at the far post to whip a smooth finish into the bottom corner.
It would be the last positive contribution from Amrabat - a constant threat - who was issued with a red card in the 74th minute after repeatedly gesturing to referee Alfonso Javier Alvarez Izquierdo that he needed glasses.
And, as time ticked away on the south coast, Oliver Torres missed a chance to bag Villarreal a consolation goal against 10 men when nodding the ball just wide of Caballero's near post.