Chris Minns will be the 47th premier of NSW after leading Labor into power for the first time since 2011.
"Friends, after 12 years in opposition, the people of NSW have voted for a fresh start," the 43-year-old told an adoring election-night crowd in Sydney on Saturday.
Labor campaigned strongly on the issue of privatisation, claiming the Liberal coalition would sell off assets despite their promises not to.
"It is undeniably the case that today's election was also a decisive vote against privatisation, to retain Sydney Water and Essential Energy in the NSW Government," the incoming premier said.
Labor is tipped to gain the 47 seats necessary to govern in its own right, with the ABC predicting as many as 50 seats will be red.
Mr Minns paid tribute to outgoing premier Dominic Perrottet who announced he will quit as state Liberal leader.
"This election campaign, perhaps uniquely, was a model of respect and civility, and neither party took the low road, neither political party took the low blow," Mr Minns said.
"It can be a model for the way democracy is done right across this country. I can't say that every election campaign in the future will be conducted the same way but, from now on, no-one will be able to say that it can't be."
Mr Perrottet said Mr Minns would make a fine replacement as he took full responsibility for his party's loss.
"And, as a result I will be standing down as the Parliamentary Liberal Party leader."
"It is very clear we need a fresh start."
Mr Perrottet conceded defeat in a phone call to Mr Minns about 9pm on Saturday.
An early two-party preferred swing of about 6.4 per cent led to decisive calls by analysts.
The outgoing premier urged everyone in NSW to get behind Mr Minns for the sake of the country.
"I ask everybody across NSW, whatever your political persuasion, to get behind him, because when NSW goes well, our country goes well, and that is something I believe we can all unite behind."
Mr Perrottet, who became premier 18 months ago after Gladys Berejiklian quit amid a corruption probe, had sought a fourth term for the coalition.
Deputy Labor leader Prue Car said the party had struck a chord with the people of NSW.
"We made a case for change, and we have made the case for change as a team that has done the work," she said.
"We really were listening to people, and talking about the bread-and-butter issues that people are concerned about.
Liberal treasurer Matt Kean said he was not surprised by the result, saying after 12 years of coalition government people were looking for change.
"We we were hoping for the best and preparing for the worst," he said.
The coalition governed for two years in minority with 46 seats, while Labor held 38 seats, with nine crossbenchers, including three Greens MPs.
Both leaders have campaigned hard in vital seats in Sydney's west, where a third of NSW voters live and many electorates are on a knife edge.
Mr Perrottet was flanked by wife Helen as he voted in Beecroft in Sydney's north on Saturday and she was again a fixture as he conceded publicly.
Mr Minns voted in his ultra-marginal southern Sydney seat of Kogarah, flanked by wife Anna and their three sons, and promising a fresh vision for the state.
"Vote for a fresh start for NSW, for a team that's got a plan for essential services, for our schools and for our hospitals, who's going to stand up against privatisation and really put the people of NSW first," he said.
Prime Minister Anthony Albanese said NSW had come together to choose a better future.
"Chris Minns has been a great leader for NSW Labor," Mr Albanese told the Labor faithful.
"And after tonight, he will be a great premier for the people of NSW."
Australian Associated Press
Sign up for our newsletter to stay up to date.