The comfortable win ensured Madrid remain in second place, with Barcelona maintaining their commanding 11-point lead with a 4-0 win over nine-man Real Betis.
With La Liga all but out of reach with six games remaining, the success of Madrid's season hinges on next weekend's Copa del Rey final against Osasuna and their Champions League semi-final with Manchester City.
With Luka Modric already doubtful for those critical games, the last thing coach Carlo Ancelotti needed was to see another star - in this case Vinicius Junior - grab his right knee and ask to be substituted.
After the match Ancelotti said the Brazilian winger should be good to go, despite the scare.
"He had a knock on his knee that bothered him, but it's nothing, just a knock," Ancelotti said.
"He will be fine in a couple of days. He will be ready for the cup final."
Benzema tapped in the fifth-minute opener at the Bernabeu after being set up by Vinicius.
Rodrygo, who also scored Madrid's fourth goal from long range just after halftime, produced another assist for Benzema after an audacious dribble that ended with a spin around Costa before laying on a pass for the France forward to score in the 17th.
Benzema's third came in the 42nd minute from the penalty spot after Largie Ramazani fouled Lucas Vazquez.
Ancelotti still had defensive worries, after Lazaro scored in first-half added time and Lucas Robertone headed in on the hour mark.
"I don't understand how in two games we have conceded six goals," Ancelotti said.
"I am angry. I hope this serves as a message to my team."
In Barcelona, Betis' Edgar Gonzalez had a night to forget. The central defender replaced the injured Luiz Felipe in the 12th minute, but by the 33rd he was heading back to the bench after being sent off.
Barcelona were already winning thanks to a 14th-minute header by Andreas Christensen.
Robert Lewandowski then took his league-leading tally to 19 goals before Raphinha, who had crossed the ball for Christensen's opener, added a third shortly before halftime.
Betis finished with nine men after Joaquin walked off with what looked like a right-knee issue with 10 minutes remaining and all their substitutions made.
To compound a miserable night, Betis' Guido Rodriguez then turned a pass by Ansu Fati into his own net.
Fifteen-year-old Lamine Yamal debuted for Barcelona in the final minutes. The club said the forward is the youngest-ever to feature in a league game for them.
"He almost scored, almost assisted for a teammate. He can become a special player," coach Xavi Hernandez said.
Elche rolled to their biggest win of a painful season, beating 10-man Rayo Vallecano 4-0.
Last-placed Elche are 16 points from safety with six games left.