This was Carlo Ancelotti's team at its potent best after an embarrassing defeat in the previous European match by newcomer Sheriff. It is also a timely win for Madrid ahead of their El Clasico showdown with Barcelona on Sunday.
Madrid's lead was bolstered in the 37th minute when Shakhtar captain Sergiy Kryvtsov turned a cross by Lucas Vazquez into his own net.
Vinicius was on target again five minutes later, cutting past Dodo and then Kryvtsov in the penalty area before striking into the net. The Brazilian youngster then set up fellow countryman Rodrygo to strike into the net in the 64th.
Benzema completed the rout in stoppage time after getting on the end of Marco Asensio's cross.
On his second goal, Vinicius said: "It's a move I always do in training and it comes off, but in games it's harder sometimes. I'm really happy with the goal."
Madrid, the 13-time European champion, moved up to second place in Group D on six points. Sheriff remains in the lead, based on the head-to-head with Madrid, despite losing 3-1 at Inter Milan.
"It was an important game after the defeat at home. We played well, we scored goals, we didn't concede, it's a good result for us," Benzema said. "Let's hope I can keep going like this, help my team on the pitch, I want to win, if I can help with goals it's good for everyone."
Ancelotti was pleased with this team's performance but tempered the exciting ahead of LaLiga's biggest rivalry.
"It's difficult to highlight one player, everyone did well. We defended well, we were focused from the start, we applied our strategy well. The team were dangerous on the break. It's a game which gives us confidence, that's normal, but against Barcelona it's another game and another story."