The France international scored in the first half either side of Sergio Ramos' header to register his first league double since September 1.
Substitute Gareth Bale, in the squad for the first time since sustaining a calf problem on January 3, added the fourth as Espanyol's miserable run was extended to nine defeats in 10 league matches, despite Raphael Varane's dismissal 18 minutes from time.
Real, who moved above Sevilla into third, clinically scored from all three attempts in the first half, with the opener coming after just four minutes.
Defenders backed away as Luka Modric charged into the penalty area and although his shot was parried by Diego Lopez, Benzema converted the rebound.
Espanyol's defensive weakness was exposed in the 15th minute when Modric swung over a cross from Toni Kroos' short corner and the unmarked Ramos headed back across goal and inside the far post.
Within 10 minutes the hosts responded with Leo Baptistao lashing a shot into the roof of the net after Didac Vila's attempt deflected into his path off Lucas Vazquez.
Real struggled to regain control until Benzema struck in the first minute of added time, taking him to within one of equalling the great Hugo Sanchez's tally of 208 for the club.
The Frenchman cut in from the left and capitalised on another rebound, this time from his attempted pass to Vinicius Junior, to curl a low shot past Lopez.
Early in the second half Vinicius was fortunate the referee missed his off-the-ball stamp on defender Lluis Lopez.
The visitors continued to press. Benzema combined with Modric, only for the latter to be denied with a superb low save from Lopez, but when the Ballon d'Or winner returned the favour the Frenchman screwed his hat-trick chance wide.
Bale was given the final half-hour to ease himself back into competitive action and took less than three minutes to score after a neat turn in the penalty area.
With 18 minutes remaining Varane was sent off for bringing down substitute Pablo Piatti on the edge of the penalty area.
Dani Carvajal then headed Sergio Garcia's looping, deflected shot off the line.
A superb chest-trap and volley from Roberto Rosales – awarded by VAR after initially being flagged offside – reduced the deficit with seven minutes to go but Real's advantage was not genuinely threatened.