France striker Benzema scored what proved to be the crucial goal after 25 minutes, but Carlo Ancelotti's men will be disappointed not to have secured a healthier advantage after spurning a number of excellent chances.
Espanyol created the first clear-cut opportunity after 18 minutes as Portuguese attacker Pizzi blazed over the bar from close range.
That near-miss appeared to spark Real into life, and three minutes later Cristiano Ronaldo turned brilliantly on the edge of the area, only to see his low shot hit the post.
Real did take the lead shortly after, Benzema finding the net with a diving header after Gareth Bale had flicked Alvaro Arbeloa's right-wing cross into his path.
The visitors could have pulled clear before the interval, but both Benzema and Bale were denied by strong saves from Espanyol keeper Kiko Casilla.
Espanyol started the second half brightly and almost levelled after 54 minutes with a fine curling effort from forward Sergio Garcia.
However, Real would have put the tie beyond doubt if not for the brilliance of Casilla, who raced off his line to thwart Angel Di Maria following a fine ball from Marcelo, before also preventing Arbeloa and Benzema from finding a second.
For all Real's dominance, the visitors were grateful to goalkeeper Iker Casillas for preserving their lead.
The Spain international produced an excellent one-on-one save to keep out a strike from substitute Jhon Cordoba six minutes from the end on a night when the 32-year-old broke his own record for minutes played without conceding a goal, which now stands at 592.
Real host the second leg at the Bernabeu next Tuesday.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.