Liverpool, the 2019 champion, beat its Spanish rival 5-2 in the first leg and the return match, to wait for the winner of the Real Madrid and Manchester City match in the second semi-final match on Wednesday.
City won 4-3 in the first leg in Manchester.
Villarreal, who lost 2-0 in the first leg at Anfield last week, went ahead with two goals through Boulay Dea in the third minute and Francis Coquelin in the 41st minute.
But in the second half, Fabinho reduced the difference in the 62nd minute after a pass from Mohamed Salah, and Luis Diaz equalized five minutes later.
Senegalese Sadio Mane scored the winning goal in the 74th minute.
Villarreal completed the match with ten men after Etienne Capou was sent off in the 85th minute for receiving a second yellow card.