The SNP has retained its position as Scotland’s biggest party in local elections while Labour has pushed the Tories into third place.
First Minister Nicola Sturgeon told Sky News her party – in government at Holyrood for 15 years – had won the poll “by a country mile”.
The results showed the SNP on 453 seats, up by 22, with Labour up 20 to 282 and the Tories down 62 to 214.
Check the result where you live
Liberal Democrats gained 20 seats to reach 87 while the Greens added 16 to total 35.
For Labour, once dominant north of the border, the prize of making gains in Glasgow and regaining its status as the SNP’s main challenger was cause for leader Anas Sarwar to celebrate.
He said: “It’s been almost a decade and it’s the first time we’ve had a cheerful day for the Scottish Labour party.”
The Tories had enjoyed success in Scotland under former leader Ruth Davidson but current chief Douglas Ross has now seen the party slip back.
Local elections live: Tory losses to Lib Dems mount
Mr Ross has been criticised after publicly calling for Prime Minister Boris Johnson to quit over partygate before backtracking, citing the need for stability because of the war in Ukraine.
He admitted to the BBC: “It’s been a difficult night and the results coming in today are very disappointing.”
Mr Ross highlighted gains in Moray and Aberdeenshire, but said that in parts of Scotland “many of our supporters decided to sit this one out, to protest and not cast their vote”.
Asked about whether Mr Johnson should lead the Conservatives into the next general election, Mr Ross said: “The prime minister simply can’t ignore the message that’s been sent from voters not just here in Scotland, but across the UK.”
The results in Scotland came as the Tories also lost notable councils in England – with London’s Wandsworth and Westminster falling to Labour and Somerset to the Liberal Democrats – though Labour failed to make such impressive gains outside the capital.
The Conservatives also faced big losses in Wales while Labour wrestled back Blaenau Gwent from no overall control.