Vazquez headed Madrid in front six minutes into the game and Asensio added a second after the break with a fine finish.
Celta rarely threatened Thibaut Courtois' goal as their six-game unbeaten run came to an end.
The result helped Zinedine Zidane's side move a point clear of city rivals Atletico Madrid, who will have the chance to return to the summit when they face Deportivo Alaves on Sunday.
Celta almost stole an early lead when Iago Aspas chased a ball behind the defence and chipped an effort over Courtois as he raced off his line, but Nacho chased back to hook it away.