Hazard, who started the game and earned a penalty, hadn't played since injuring his right ankle on Nov. 26 against Paris Saint-Germain in the Champions League. He had been practicing with the rest of the team for the last two weeks but had yet to be included in the squad.
The draw left Madrid one point ahead of Barcelona at the top of the Spanish league.
Hazard earned a penalty that was converted by Sergio Ramos to put Madrid in front in the 65th minute.
But Celta snatched the draw when Santi Mina fired in the 86th-minute equalizer after fellow substitute Denis Suárez set him up with a superb through ball that threaded past several Madrid players.
Fedor Smolov had put the visitors ahead in the seventh minute. Madrid's Toni Kroos made it 1-1 in the 52nd.
"I am happy with my performance but not with the result," Hazard said. "But they have good players and did not come here (just) to defend. But it is not the last game of the season and at the end we just want to win trophies. We are in first place and just have to keep going."
HAZARD'S RETURN
Hazard was Madrid's most incisive player until he was substituted in the 73rd.
In the first half he created Madrid's best chance when he dribbled into the box before Jeison Murillo intervened.
Hazard's agility then proved key again when he drew a penalty from goalkeeper Ruben Blanco, who unwisely slid toward a ball that was heading out and ended up tripping Hazard. That penalty put Madrid on course for a win until Suárez linked up with Mina.
"We missed some chances today but the more we play together, the better we will be so it is just a question of time," Hazard said.
Hazard joined Madrid last summer after it paid Chelsea around 100 million euros ($113 million) plus add-ons, making him the club's most expensive signing ever.
Celta emerged from the relegation zone with the point.
ZIDANE'S TUMBLE
Madrid coach Zinedine Zidane got closer to the action than he had expected in the 61st when the former Madrid great was knocked down by Celta's Joseph Aidoo.
The Celta defender stumbled while trying to save a ball from going out and ended up rolling into Zidane's legs, pitching the manager forward and on top of him.
"Yes, I took a knock. But I had to be where I was," said Zidane, who was uninjured.
SUSO SCORES
Jesús "Suso" Fernández scored his first goal for Sevilla to salvage a 2-2 home draw with 10-man Espanyol.
The result left Sevilla in fifth place and Espanyol at the bottom of the table.
Lucas Ocampos headed Sevilla in front in the 15th, but Adrián Embarba equalized from a free kick in the 35th after a long video review to determine a foul outside the area.
China forward Wu Lei, playing for the injured Raúl de Tomás, put the visitors ahead five minutes into the second half.
Espanyol midfielder Víctor Sánchez was sent off with a second red yellow card in the 69th.
Suso got Sevilla's second goal with 10 minutes remaining after cutting back from the right side and firing in a left-footed shot from the edge of the box.
It was Suso's first goal since joining Sevilla on loan from AC Milan.
Sevilla is in its biggest rut of the season after a fourth game without a win across all competitions.
"We needed to win this one," Suso said. "We have to win all, or almost all, our home games. If we get a win, we can get our confidence back."
OTHER RESULTS
Athletic Bilbao's winless streak in the league reached nine straight games after it lost 1-0 at home to Osasuna.
Oier Sanjurjo fired in a rebound to give Osasuna a first-half lead. Bilbao's Aritz Aduriz almost grabbed a 90th-minute equalizer when his header hit the post.
Real Betis drew 0-0 at Leganés.