For a time, it looked like Manchester City would infamously blow the Premier League as they somehow went down 2-0 at home to Aston Villa with only 10 minutes remaining.
Liverpool had gone behind early to Wolves but rallied to 1-1, meaning another goal for them would have secured the title.
However, while Liverpool was able to grab a 3-1 win in the end, City also added three late goals, with two from Ilkay Gundogan and another from Rodri being enough to top the league.
Editors' Picks
- Jesse Rodriguez beats down Srisaket Sor Rungvisai for an eighth-round stoppage to retain WBC title
- Jesse Rodriguez vs. Srisaket Sor Rungvisai: Keys to victory for both fighters
- Jesse Rodriguez vs. Srisaket Sor Rungvisai: List of odds, favorites, markets, prediction and betting trends
- Ronny Rios feels 'disrespected' by fans ahead of Murodjon Akhmadaliev fight
Elsewhere, Leeds United stayed up with a 94th-minute goal from Jack Harrison earning a 2-1 win at Brentford, while rivals Burnley fell 2-1 at home to Newcastle United.
That saw Burnely fall to the second tier of the football pyramid, joining Watford and Norwich City in the Championship next season.
Arsenal were 5-1 winners over Everton, who only had just secured their own Premier League survival, but north London rivals Spurs finished fourth and took the Champions League spot with a 5-0 win against Norwich City.
Elsewhere, Ralf Rangnick's final game in charge at Manchester United ended in a 1-0 defeat at Crystal Palace, but it was enough to secure Europa League football with Conference action now David Moyes' reward for seventh place, as West Ham lost 3-1 to Brighton.
Chelsea won 2-1 against Watford going into an uncertain summer, but with the third spot safe, and Leicester beat Southampton 4-1 in the day's dead rubber.