Match ends, Manchester City 1, Leicester City 0.
Manchester City know they will retain their Premier League title if they win on the final day of the season after Vincent Kompany's wonder strike saw off a spirited Leicester side.
With 20 minutes remaining, the score goalless and nerves jangling at Etihad Stadium, the defending champions needed inspiration in a game where only victory would maintain their advantage at the top of the table.
They got it from an unlikely source in their long-serving captain, who strode forward and let fly from 25 yards with a strike that arrowed into the top corner of the net.
The hosts' victory means they move back above Liverpool and hold a one-point lead as they go into the last round of fixtures on Sunday, when Pep Guardiola's side travel to Brighton and the Reds host Wolves.
After they had to fight so hard to gain victory here, it is unlikely Manchester City will take anything for granted as a pulsating title race reaches its climax.
The lead at the the top of the table has now changed hands 32 times this season, but for long spells on Monday night it seemed Liverpool would be staying in top spot until the weekend at least.
- Analysis: Man City captain enhances his legend
- 'No shoot Vinnie, no shoot!' - Guardiola glad Kompany ignored his calls
- Best of the reaction to Kompany's wonder goal
Managed by former Liverpool boss Brendan Rodgers, who came so close to bringing the title to Anfield in 2014, Leicester were resolute defensively and posed a significant threat at the other end.
They restricted Guardiola's famously free-scoring side to a handful of first-half chances, with Sergio Aguero's header against the bar the closest they came to breaking the deadlock.
The champions' frustration on the pitch and in the stands continued after the break until 33-year-old Kompany stepped up in spectacular fashion to score his first goal of the season, and his side's 159th.
Leicester did threaten to ruin the party late on but former Manchester City striker Kelechi Iheanacho fired wide, and the final whistle triggered cascades of relief for the home players and fans as they moved to within one win of their sixth title.
Man City continue run of home goals - eventually
There is never any shortage of entertainment for Manchester City's fans, who have now seen their side score 100 goals in 29 games at the Etihad Stadium in 2018-19.
But they are not used to tension of the sort that was served up on Monday night, with Leicester stopping them scoring for longer than any other visiting team has managed in the Premier League this season - West Ham, who held out for 59 minutes, were the previous best.
Manchester City were still creating chances, going close before the break when Aguero's header hit the woodwork before it was clawed to safety by Kasper Schmeichel, and after it when the Foxes goalkeeper denied the Argentina striker with an outstretched leg.
Their fans were urging them forward but Guardiola's side lacked their usual composure in the final third and a first home blank of the campaign in all competitions looked on the cards, and at the worst possible time.
That was until Kompany, who scored a vital header to beat Manchester United and help bring the title to the Etihad in 2012, provided another memorable moment to help his side take a giant step towards more silverware.
A domestic treble remains in Manchester City's sights, and they can also become the first team since United in 2007-08 and 2008-09 to win back-to-back titles.
Leicester show improvement under Rodgers
Leicester's hopes of nicking seventh place and a spot in next season's Europa League are over after this defeat, but their performance underlined their improvement since Rodgers took charge at the end of February.
As well as being disciplined in defence and comfortable on the ball, the visitors sent men flying forward in numbers on the counter-attack.
The hosts were growing increasingly jittery as their wait for a first goal continued, but their nerves were not helped by the threat the Foxes posed on the break.
Harry Maguire ran the length of the pitch to set up James Maddison, who fired wide with the score at 0-0, and Leicester continued to look dangerous even when they went behind.
If Iheanacho, 22, had showed more composure after being fed the ball in front of goal then Leicester and Liverpool fans could have had a late equaliser to celebrate - instead it was the home fans who were smiling as their players marked their final home game with three points and a parade around the pitch at the end.
Man of the match - Vincent Kompany (Man City)
'It's in our hands' - what they said
Manchester City manager Pep Guardiola: "One game left, and it will be so tough like today. We are away and we saw Brighton had a good game at Arsenal. But it is in our hands, don't forget but we could have been 10 points behind if we lost to Liverpool here.
"We were seven points behind, but we are in the last game and it is in our hands. We are going to prepare well.
"We'll see if Brighton defend deep or will be more offensive. It will be tough, but hopefully we will have the performance to be champions."
Leicester boss Brendan Rodgers: "Our motivation was to come in for our own development and performance. We pushed City, arguably the best team in Europe, right to the very end.
"I thought defensively and tactically, the team played a good game. They are difficult to contain with their quality and some world-class players.
"We will learn from this and look to end the season strongly."
Man City beat everyone - the stats
- Man City have now scored 100 goals in all competitions at the Etihad this season; extending their record for most home goals by an English top-flight team in a single campaign.
- Man City have won each of their last 13 Premier League games - it's the fourth run of a team winning 13+ games in a row in the competition's history, with City the only side to have done so twice.
- Man City have beaten every team they have faced in the league for the second consecutive season; the only other English top-flight team to achieve this were Preston between 1888-89 and 1889-90.
- Leicester have won just one of their past seven away games versus Man City in all competitions (W1 D1 L5).
Manchester City will wrap the title up with a win over Brighton at Amex Stadium on the final day of the season - Sunday, 12 May - while Leicester host Chelsea at King Power Stadium. Both matches kick off at 15:00 BST.
- 4KompanyBooked at 44mins
- 47FodenSubstituted forSanéat 56'minutes
- 21SilvaBooked at 22minsSubstituted forStonesat 90+1'minutes
- 20Bernardo Silva
- 10AgüeroSubstituted forGabriel Jesusat 87'minutesBooked at 89mins
- 33Gabriel Jesus
- 14Ricardo Pereira
- 15MaguireBooked at 35mins
- 11AlbrightonSubstituted forGrayat 85'minutes
- 21TielemansSubstituted forBarnesat 75'minutes
- 10MaddisonSubstituted forIheanachoat 80'minutesBooked at 90mins
- Mike Dean
- Shots on Target
Second Half ends, Manchester City 1, Leicester City 0.
Gabriel Jesus (Manchester City) wins a free kick on the left wing.
Foul by Ricardo Pereira (Leicester City).
Hand ball by Gabriel Jesus (Manchester City).
Substitution, Manchester City. John Stones replaces David Silva.
Kelechi Iheanacho (Leicester City) is shown the yellow card for a bad foul.
Gabriel Jesus (Manchester City) wins a free kick in the defensive half.
Foul by Kelechi Iheanacho (Leicester City).
Gabriel Jesus (Manchester City) is shown the yellow card.
Foul by Raheem Sterling (Manchester City).
Harvey Barnes (Leicester City) wins a free kick in the defensive half.
Attempt missed. Kelechi Iheanacho (Leicester City) left footed shot from outside the box misses to the left. Assisted by Hamza Choudhury.
Substitution, Manchester City. Gabriel Jesus replaces Sergio Agüero.
Substitution, Leicester City. Demarai Gray replaces Marc Albrighton.
Corner, Manchester City. Conceded by Ricardo Pereira.
Attempt missed. Bernardo Silva (Manchester City) left footed shot from outside the box is high and wide to the left following a corner.
Corner, Manchester City. Conceded by Harry Maguire.
Substitution, Leicester City. Kelechi Iheanacho replaces James Maddison.
Substitution, Leicester City. Harvey Barnes replaces Youri Tielemans.