With more than 75 percent of the city's voting precincts reporting, de Blasio, 56, had won nearly 65 percent, a margin of 35 percentage points over his Republican opponent, state assemblywoman Nicole Malliotakis, according to New York City's Board of Elections.
The New York Times and other media called the race for de Blasio. De Blasio, who held a comfortable lead in opinion polls leading up to Election Day, had been widely expected to cruise to victory in a city of 8.5 million people dominated by Democratic voters.
A progressive liberal, de Blasio in the past week campaigned with U.S. Senator Bernie Sanders of Vermont, an independent. Sanders backed de Blasio's call for a tax hike on city residents earning more than $500,000 a year, a measure with little chance of passing the state legislature in Albany.
The mayor has positioned himself as one of the most vocal critics of Republican President Donald Trump, who has received strong disapproval ratings from voters in his native city.
Daisy Taberas, 71, who immigrated from Peru 48 years ago, said she voted for de Blasio because of her concerns over Trump's stance on immigration.
"I like the way (de Blasio) works with children in the schools, and he's trying to protect the city and he cares about immigration," Taberas said after casting her ballot at a Manhattan polling site.