The results pave the way for a stronger government under Prime Minister Antonio Costa as the country tries to boost its tourism-dependent economy, which has been badly hit by the pandemic.
A stable government is crucial for Portugal to make the most of a 16.6 billion euro ($18.7 billion) package of European Union recovery funds it is due to receive by 2026.
Costa, 60, had previously relied on two far-left parties to underpin his minority Socialist governments since 2015.
The Socialists received 41.7 percent of the vote giving it 117 seats in the 230-seat parliament, up from 108 in the outgoing assembly.
Despite predictions of a tight race, the main opposition centre-right PSD party landed 27.8 percent for 71 seats.
Four seats still need to be attributed in the coming days with the results of votes cast abroad, but in 2019 the Socialists obtained two.
“An absolute majority doesn’t mean absolute power. It doesn’t mean to govern alone. It’s an increased responsibility,” Costa said in his victory speech.
“The conditions have been created to carry out investments and reforms for Portugal to be more prosperous, fairer, more innovative.”
The results bucked the trend of declining fortunes for Socialist parties in other European nations, including in Greece and France where they have been virtually wiped off the map in recent years.
The vote also handed gains to far-right party Chega, which became the third-biggest contingent with 12 seats, up from just one, mirroring the rise of such formations elsewhere in Europe.
“Everything is going to be different in parliament,” Chega leader Andre Ventura, a tough-talking former TV sports commentator, told his supporters.
“From now on there won’t be a soft opposition. We will assume the role of being the real opposition to the Socialists…and restore dignity to this country.”
Sunday’s snap polls were called after two far-left parties that had propped up Costa’s minority government sided with right-wing parties to reject his 2022 draft budget in October.
The two far-left parties — the Left Bloc and the Communist Party — both lost seats.
The Socialists had a comfortable lead when the election was called, but polls had suggested PSD managed to close the gap in recent days.
During the final stretch of the campaign, Costa repeatedly warned that a PSD-led government would be held “hostage” by the far-right Chega, whose proposals include castrating sex offenders and more support for the police.
PSD leader Rui Rio had vowed not to include Chega in a government but indicated he was willing to head a minority government propped up by support from the far right.
Catia Reis, a 39-year-old human resources manager, said she had voted for the Socialists because “stability is needed”.
“It is not the moment for a political change,” she added after casting her ballot at a Lisbon polling station.
Under Costa’s watch, Portugal has rolled back austerity measures, maintained fiscal discipline, increased the minimum wage significantly and slashed unemployment to pre-pandemic levels.
The country also achieved the highest immunisation rate against Covid-19 in Europe, with over 90 percent of its population fully vaccinated.
“I voted for the Socialists because we need them at this difficult time,” said Manuel Pinto, a retired 68-year-old former carpenter, after he voted in Lisbon.
PSD leader Rui Rio, 64, had argued the economy should expand faster. His party proposes corporate tax cuts to spur growth.
He had called for lower corporate taxes and privatisations to spur growth.