The makeshift front trio all scored as the European champions rested some of their attackers ahead of a Champions League clash with Atletico
Carlo Ancelotti made numerous changes ahead of Tuesday's Champions League quarter-final first leg clash at Atletico Madrid, but Real secured a comfortable win at Santiago Bernabeu to keep the pressure on leaders Barca.
The European champions dominated and deservedly went ahead in the 21st minute, Ronaldo finding the net directly from a free-kick for the first time in La Liga since March 2014 to take his tally to eight goals in his last four league matches.
Javier Hernandez, making his first Liga start since October, nodded in the second just after the half-hour mark, converting the delivery of another of Ancelotti's fringe players – Alvaro Arbeloa.
Although Real were less rampant after the break, they remained in complete control and were only denied more goals due to good saves from Xabi Irureta.
Eibar attempted to pull one back in order to set up a nervous finish, but lacked quality in the final third and Jese Rodriguez added a third goal seven minutes from time.
Despite giving rare starts to the likes of Hernandez and Jese, Ancelotti's changes did not seem to have a negative impact on the hosts' fluency during the early stages.
Isco crafted the first chance of the game with only three minutes played, delightfully jinking between a couple of defenders before seeing a 25-yard effort deflected just wide.
Real continued to dominate and should have been rewarded with an opening goal in the 19th minute.
Sergio Ramos smashed Arbeloa's delivery against the crossbar from close range, before Ronaldo's 18-yard follow-up effort hit both posts and then Hernandez saw his strike on the rebound disallowed due to offside.
Real finally opened the scoring two minutes later, as Irureta inexplicably allowed Ronaldo's 30-yard free kick to bounce straight past him and into the net.
Real only had to wait another 10 minutes before doubling their advantage, with Hernandez guiding a glancing header beyond Irureta following a fine Arbeloa cross.
Ancelotti's men remained firmly on the front foot at the beginning of the second period and went close twice in quick succession.
Luka Modric tested Irureta with a left-footed effort following Marcelo's precise cut-back in the 50th minute, before Hernandez headed another Arbeloa cross at the keeper.
Eibar became more ambitious, but they never looked like salvaging a result and Jese rounded off the scoring with a late third goal.
The young forward darted past Raul Navas and fired into the bottom-left corner in the 83rd minute as Real secured a third win in the space of six days.