Lionel Messi scored one goal and set up another to help Barcelona beat Villarreal 3-1 on Wednesday in the first leg of their Copa del Rey semifinal.
It was Messi's 11th goal in Barcelona's 10-game winning streak and his 34th in 32 games this season as Luis Enrique's Barcelona put one foot in the final.
Espanyol settled for a 1-1 draw at Athletic Bilbao as it took the away-goal advantage in the other semifinal, in which the Basques were lucky to keep their chances of advancing alive.
Messi opened the scoring in the 41st minute at Camp Nou Stadium after Luis Suarez had won the ball and set him up.
Hunkered down in the first half, Villarreal went looking for a goal after the break and leveled through substitute Manuel Trigueros' blistering strike in the 48th.
But Andres Iniesta answered for the hosts a minute later before Gerard Pique headed in Messi's corner kick in the 64th.
Neymar could have extended Barcelona's winning margin but had his 71st-minute penalty kick, awarded after Villarreal's Mateo Musacchio handled in the area, saved by Sergio Asenjo.
"The result is good, but it could have been better," said Pique. "And we know El Madrigal is a tough ground so we will have to be very careful. The tie is far from over."
Espanyol's bus was hit by a rock that shattered its windscreen as it made its way through a street packed with Bilbao supporters arriving for the match.
Bilbao made a strong start to the match with Aritz Aduriz scoring with a chipped shot in the 11th minute.
But it was all Espanyol the rest of the way after midfielder Victor Sanchez rifled in a vicious volley in the 35th. The Barcelona-based side wasted opportunities to score a second goal on four occasions, with Sergio Garcia and Victor Alvarez both hitting the woodwork at San Mames.
"We were better than they were in the second half and could have won, but we would have been thrilled with a 1-1 before the match started," Espanyol coach Sergio Gonzalez said.
Barcelona dominated possession from the start, but a disciplined Villarreal defense slowed the tempo and left the hosts without clear scoring chances until the final minutes of the first half. From there on Villarreal was fortunate to avoid a rout.
The visitors were hurt by the loss of holding midfielder Bruno Soriano, who had to be replaced by Trigueros after he was carted off the field with a right-leg injury on the half-hour mark. Jonathan Dos Santos also left injured in the second half.
"The match was like a horror film," said Villarreal coach Marcelino Garcia. "Barcelona took advantage of our errors and scored two goals we didn't expect. We had two players injured, one of which could be serious... And all that pushes us farther away from the final."
Suarez's troubles in front of goal continued, but he made up for his misfires by helping Messi to score. Suarez's pressure on center back Musacchio paid off when he won the ball before passing to Messi, who used one precise left-footed strike to drive it home.
Barcelona goalkeeper Marc-Andre ter Stegen made his first save before the halftime whistle when he got low to palm Luciano Vietto's effort wide.
After halftime Ter Stegen could have done more to stop Trigeros' long strike that was blasted directly at him after the midfielder intercepted Suarez's poor pass.
But as Barcelona has done throughout its winning run, it responded by hitting right back. This time Iniesta combined with Suarez before Villarreal defender Mario Perez's poor clearance fell to him to put past Asenjo.
Villarreal soon retreated into its area, but Messi was still able to spot Pique as he maneuvered around Musacchio and jumped over him to turn in Messi's corner kick to give Barcelona a comfortable advantage for the return leg on March 4.Reuse content