The Reds' reward for Thursday's dramatic victory over Borussia Dortmund is a trip to Spain for the first leg on 28 April, with the return at Anfield on 5 May.
In the other semi-final, Spanish side Sevilla, who are looking to win the competition for the third successive year, face Ukraine's Shakhtar Donetsk.
The final takes place in Basel, Switzerland, on 18 May.
Liverpool staged one of the most sensational comebacks Anfield has seen to overcome their German opponents in Thursday's quarter-final second leg.
They were twice left needing three goals to go through, with Dejan Lovren's injury-time header from James Milner's cross sealing a 5-4 aggregate victory on a night packed with drama and emotion.
Villarreal, nicknamed the Yellow Submarine, are fourth in the La Liga table behind Real Madrid, Atletico Madrid and Barcelona.
The draw means that four Spanish clubs could contest both the Champions League and Europa League finals after Real Madrid and Atletico Madrid were kept apart in Europe's elite competition.
Media playback is not supported on this device
Liverpool will play Villarreal in the Europa League semi-finals.