Real now trail second-placed Atletico Madrid by two points after the champions missed the chance to go top as they were held 2-2 at home by Celta Vigo yesterday.
Ronaldo opened the scoring with a fantastic header from Alvaro Arbeloa's cross, but the Portuguese was upstaged by James Rodriguez and the Colombian doubled the visitors' advantage with a sumptuous left-footed effort that curled into the top corner.
A goalkeeping howler from German Lux then allowed Ronaldo to fire into an empty net to make it 3-0 before the break, but Depor did manage to pull one back when Haris Medunjanin converted from the penalty spot after Sergio Ramos was adjudged to have handled.
Toche headed home a late consolation for the hosts, but Javier Hernandez rounded off a fine day for Real when he volleyed home his first two goals for the club since joining on loan from Manchester United.
Also Read
Depor's resistence was broken just before the half hour mark as Ronaldo leapt to meet Arbeloa's cross and directed a fine header into the far corner from 15 yards out.
Karim Benzema then forced Lux into another smart save moments later, but there was nothing the Argentine 'keeper could do nine minutes before half-time when Rodriguez scored his first goal in La Liga with a curling effort that dipped in off the underside of the bar.