Match ends, Southampton 0, Manchester City 1.
Manager Pep Guardiola praised his "magnificent" players as champions Manchester City ended an incredible season with a record 100 points after victory at Southampton, who secured Premier League survival despite losing.
Substitute Gabriel Jesus struck with virtually the last kick of the game to spark wild celebrations on City's bench at St Mary's.
"Maybe this record will be broken but it will be difficult," said Guardiola after his side finished 19 points ahead of nearest rivals Manchester United.
"What can I say, 100 points! We won 50 points at home and 50 away. It's massive. One hundred points is magnificent."
As well as winning the most points by an English top-flight side in a single campaign, City's 32nd win broke Tottenham's 57-year-old record for victories in a single top-flight season.
"It was such a complicated game. It was so hard. The players suffered. Southampton are a physical team, so many people defending deep," added Guardiola.
Southampton needed a point to be sure of safety, but Swansea's 2-1 home defeat by Stoke meant Saints will play in the top flight for a seventh successive season despite this defeat.
- What happened on the final day of the Premier League?
- Man City were behind in games for just 153 minutes this season - final-day stats round-up
- The Premier League table - from August to May
Record-breaking City end season on a high
Rarely has Guardiola celebrated a goal like he did when substitute Jesus' exquisite 93rd-minute chip crossed the line.
With just seconds remaining of the three minutes of additional time, the Brazil forward latched on to Kevin de Bruyne's excellent floated cross over the top - delivered from deep in his own half - before beating Alex McCarthy after the keeper had rushed off his line.
It was virtually the final touch of a magnificent campaign which saw City end the season with a record 16 away wins and 106 Premier League goals.
Guardiola leapt out of his seat to punch the air while Jesus whipped off his shirt in celebration in front of City's delirious fans.
This was far from vintage City, though. They were frustrated for long spells but, nevertheless, their players were still on the pitch celebrating in front of their travelling fans 20 minutes after the final whistle.
Teenagers Phil Foden and Brahim Diaz were sent on in the closing stages for their fifth league appearances of the season, ensuring they will both receive a title winners' medal.
"They deserve to be champions," said Guardiola.
What now for Hughes?
Southampton were five points from safety with five games to play after a 3-2 home defeat by Chelsea on 14 April.
However, an upturn in results means they end a troubled season three points above the relegation zone despite winning only seven top-flight matches.
Saints fans stayed after the final whistle as home players, along with manager Mark Hughes, walked round the pitch with their families to applaud supporters.
It was more a lap of relief than one of celebration.
Hughes, who joined the Saints on a short-term contract in March, has made it clear he would like to remain in the position on a permanent basis and has urged the Saints board to make a quick decision.
"I'm sure the club will have conversations with me this week one way or another," he said. "Clearly they need to get on with planning for next year. We'll wait and see. It's a good club."
What will undoubtedly go in his favour is the way his players have performed in the past few games, suggesting he has the support of the dressing room.
In fact, Southampton can count themselves unfortunate not to have come away with a point from this game.
Although City dominated possession, the hosts produced a gritty and determined performance. It must, however, be a summer of change at St Mary's if Southampton are to avoid another relegation fight next season.
"The players are probably embarrassed by the season they've had because it's a quality squad," said Hughes.
"They are desperately disappointed at being beaten today and that's a good sign. It has been a huge effort by everybody to stay up. It wasn't an easy situation."
'It must be a joy to watch them as a fan'
BBC Match of the Day pundit Alan Shearer
You can't compare them to the great Manchester United teams of Alex Ferguson just yet but they're definitely here to stay and it's just been a magnificent season.
It must be an absolute joy to be a Manchester City fan and watch that football.
Liverpool are the only team who went head to head with them this season. Other teams compromised or changed.
Man of the match - Kevin de Bruyne (Man City)
Records keep tumbling - the stats
- City set a Premier League record for most away wins (16) and points (50) in a season. They trailed for a total of just 153 minutes in Premier League matches this season - the fewest by a side in a single campaign.
- They also set a new Premier League record for the biggest goal difference in a single season (+79).
- Before becoming City manager in 2008, Hughes was unbeaten against them in the Premier League (W4 D4 L0). Since leaving, he has won only two of his 14 league meetings against them (D3 L9).
- De Bruyne provided more assists than any other player in the Premier League this season (16). He also set a record for most wins by a player in a single Premier League season (31).
- 2Cédric SoaresBooked at 90mins
- 21BertrandSubstituted forMcQueenat 81'minutes
- 23HøjbjergBooked at 90mins
- 22RedmondSubstituted forWard-Prowseat 64'minutesBooked at 71mins
- 10AustinSubstituted forLongat 64'minutes
- 18DelphSubstituted forGabriel Jesusat 59'minutesBooked at 90mins
- 17De Bruyne
- 8GündoganSubstituted forFodenat 82'minutes
- 20Bernardo SilvaSubstituted forDiazat 78'minutes
- 33Gabriel Jesus
- Andre Marriner
- Shots on Target
Second Half ends, Southampton 0, Manchester City 1.
Ederson (Manchester City) is shown the yellow card.
Gabriel Jesus (Manchester City) is shown the yellow card for excessive celebration.
Goal! Southampton 0, Manchester City 1. Gabriel Jesus (Manchester City) right footed shot from the left side of the box to the centre of the goal. Assisted by Kevin De Bruyne with a through ball.
Fernandinho (Manchester City) wins a free kick in the defensive half.
Foul by Shane Long (Southampton).
Offside, Manchester City. Kevin De Bruyne tries a through ball, but Leroy Sané is caught offside.
Pierre-Emile Højbjerg (Southampton) is shown the yellow card.
Cédric Soares (Southampton) is shown the yellow card.
Foul by Danilo (Manchester City).
Shane Long (Southampton) wins a free kick in the attacking half.
Foul by Raheem Sterling (Manchester City).
Dusan Tadic (Southampton) wins a free kick in the defensive half.
Gabriel Jesus (Manchester City) wins a free kick in the defensive half.
Foul by Pierre-Emile Højbjerg (Southampton).
Corner, Manchester City. Conceded by Alex McCarthy.
Corner, Manchester City. Conceded by Wesley Hoedt.
Corner, Manchester City. Conceded by Sam McQueen.
Substitution, Manchester City. Phil Foden replaces Ilkay Gündogan.