Luis Enrique's men will face Athletic Bilbao in the final for the third time in five years on May 30 after the Basques beat Espanyol 2-0 to progress 3-1 on aggregate.
Neymar had missed a penalty in Barca's 3-1 first leg win three weeks ago, but made amends after just three minutes when he turned home Lionel Messi's cross.
Jonathan dos Santos gave the hosts hope with an equaliser on the night against his old club, but Villarreal's chances of a famous comeback faded when Tomas Pina was shown a straight red card for a heavy challenge on Neymar.
Luis Suarez slotted home his 11th goal of the season to make it 2-1 before Neymar rounded off the scoring from Xavi's cross late on.
"I am very happy to be in the final again and we have to congratulate the team," said Neymar. "Villarreal are a great team with a lot of high-quality players. We knew it was going to be a difficult game and that is why we started so well. We scored very quickly and that helped us."
However, victory also came at a cost as Sergio Busquets was stretchered off in the first-half with a high ankle sprain that could keep him sidelined for a significant couple of weeks with Barca set to face Real Madrid in La Liga on March 22.
"It is the bad news of the night without a shadow of a doubt," said Enrique. "I can't give a diagnosis before the doctors look at him. We know he will be out for a while, how long the doctors will decide."
Athletic ensured there wouldn't be a Barcelona derby in the final as first-half goals from Aritz Aduriz and Borja Etxeita gave them a comfortable advantage over Espanyol.
The 23-time winners will be hoping it is third time lucky against the Catalans having lost 4-1 and 3-0 to Pep Guardiola's Barca in 2009 and 2012.
Like Sports on Facebook, follow @ETribuneSports on Twitter to stay informed and join in the conversation.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ