Barcelona beat Valencia 1-0 on Thursday thanks to a diving header from insatiable striker Luis Suarez to stay on course for a place in the King's Cup final for a record fifth consecutive year.
Suarez broke Valencia's resolve in the semi-final first leg by leaping to meet a cross from Lionel Messi in the 67th minute, scoring a 12th goal in 10 games in all competitions to leave Valencia needing to win by two goals in next Thursday's second leg at Mestalla to advance to their first final in a decade.
Despite being a Cup semi-final against one of the top teams in the league, only 50,000 fans made it to Barca's 99,000-capacity Nou Camp stadium after heavy rain throughout the day.
Barca defender Sergi Roberto risked getting sent off but was only booked for a wild lunge on Andreas Pereira, who was unable to come out in the second half and had to be substituted.
"We dominated the play but they had a plan, which was to leave here with a result that kept the tie open and they defended well. It's not a big advantage and there's still a long way to go in the tie," Barca coach Ernesto Valverde told reporters.
Valencia were trounced 7-0 on their last Cup visit to Barcelona when Gary Neville was in charge and coach Marcelino opted for a cautious approach, with his side having under 20 percent possession at one point in the game.
The visitors' best chances came from distance strikes at goal, with Martin Montoya and Francis Coquelin narrowly missing the target either side of halftime.
"It's not a good result for us but we deserve credit for how we competed," Marcelino said.
"It makes the tie very difficult but keeps it alive. We're going to fight with all our strength to win the tie. It might seem impossible but we'll try and pull off a miracle."