Neymar nudged in a cross from Lionel Messi to put the Catalan giants ahead after just three minutes, though Jonathan dos Santos brought the Yellow Submarines back into the encounter with a 39th minute equaliser.
Villarreal’s Tomas Pina received his marching order just after the hour mark to dim the home side’s chances of overturning their first leg deficit.
And Luis Suarez compounded a bad night for Villarreal when he latched on to a Javier Mascherano pass and rounded Sergio Asenjo to restore Barça’s lead.
Neymar’s header then sealed a second successive appearance in the Cup final for Barça who will face Athletic Bilbao for this year’s title after the Basque side beat Espanyol 2-0 to claim a 3-1 aggregate win.