Prime Minister Anutin Charnavirakul has claimed victory in Thailand's general election, with preliminary vote counts putting his ruling conservatives well ahead of their rivals.

Anutin said his success belonged to all Thais, no matter whether you voted for us or not, after his party's expected result defied opinion polls that had placed the reformist People's Party ahead.

With 90% of the votes counted, Anutin's Bhumjaithai party is projected to win 194 seats in Bangkok's 500-seat parliament, with the People's Party in second place on 116.

People's Party leader Natthaphong Ruengpanyawut appeared to concede the election, saying he was ready to serve in opposition if Anutin could form a government.

The election was called in December after the coalition led by Anutin collapsed after just three months.

While no party is projected to gain an overall majority, Anutin is now almost certain to stay in office, with his Bhumjaithai likely to have more than double the number of seats it won in the last election in 2023.

Elections in Thailand are often unpredictable, and so it proved this time. This shock result is a huge disappointment for the People's Party, which had expected to improve on its winning performance three years ago.

But a widely expected orange wave of support for its young, idealistic candidates did not materialise.

The third main contender was the Shinawatra family and its Pheu Thai – For Thais – party, which is projected to win 86 seats, a huge drop from its 2023 result.

The state of the economy was uppermost in many voters' minds, with household debt at record levels and growth far lower than in previous years. While the People's Party promised significant changes, it has become clear that this time around, its agenda was less successful among older voters than Anutin's simpler financial promises.

Alongside the election, Thais also voted in a referendum on whether to reform the 2017 constitution, with preliminary tallies suggesting around 65% voted in favour.