It was an exciting start to the match with Rayo Vallecano nearly scoring from the first kick of the ball through Alvaro Garcia.
Real Madrid put the ball in the net moments later but it was disallowed for offside.
They kept attacking, however, and Kroos found an opening on 14 minutes. Initially, the powerful shot was chalked off as it seemed that Vinicius Junior was offside in the build-up but a VAR review reversed that decision.
Benzema doubled the lead on 38 minutes after David Alaba crossed the ball into the box. The goal marked his 10th in 11 LaLiga games.
Rayo Vallecano had few chances, once hitting the post with their best shot, until 77 minutes when they pulled one back through substitute Falcao.
Ancelotti felt his side were worthy of the win despite their nervy ending to the game.
"It's not fair to say we almost drew the game, I saw a team that could have scored five or six goals. We fully deserved the three points," he said.
"It's logical that you get a bit nervous when you concede a goal with 10 minutes to go but overall we played well and I'm happy. It's normal to suffer a bit in football."
Considering anyone associated with Rayo would still have vivid memories of their 10-2 mauling at the Bernabeu in 2015, coach Andoni Iraola took plenty of encouragement from his side's performance even though they left the stadium empty handed.
"The reality is they beat us but we had them on the ropes right until the end," he said. "The game was very equal, the key factor is they took their chances, especially in the first half. But we fought right until the end."
The win took Real on to 27 points after 12 games, two above second-placed Real Sociedad who have also played 12 but can return to the summit if they beat Osasuna on Sunday. Rayo are sixth on 20 points.