The visitors arrived in Madrid unbeaten since 21 November, but were behind after six minutes when Lucas Vazquez headed home Marco Asensio’s cross.
Asensio got on the scoresheet himself in the second half when he sidefooted in from Casemiro’s pass.
Celta, who lost La Liga top scorer Iago Aspas to injury early in the second half, rarely posed a threat.
Santi Mina went closest when he swept a shot wide from the edge of the area.
Victory lifted Real Madrid one point clear of Atletico Madrid at the top of the table, although Diego Simeone’s side have three games in hand and travel to Alaves on Sunday.