This time Manchester City stayed on the tightrope.

Three days after having their hearts broken and their quadruple dreams extinguished by this remarkably resilient Tottenham Hotspur team, City hung on. This 1-0 win was painful for City in so many ways, especially because they lost Kevin De Bruyne, their best player, to a knee injury that will likely finish his season.

But it was still enough. And now City only have to win their last four remaining league games, starting at Old Trafford next week, if they are to retain the Premier League title. They will have to do it without De Bruyne, and it will likely get even more nervous for them than this. But at this stage of the season only winning counts, and all the strung-out angst gave way to relief when Michael Oliver blew his whistle at the end. Players of both sides were left flat on the floor at the end of this trilogy, delighted they will not have to play each other again for months.

This had all of the tension of Wednesday night but a fraction of the drama. Rather than seven goals and almost an eighth there was only one, right at the very start. Phil Foden’s flying header could have settled City’s nerves but instead it set up an 86-minute tightrope walk, as City wobbled and stumbled, desperately trying to avoid conceding the equaliser that would risk losing the title to Liverpool, while never quite being good enough to score a second.

And while City agonised over touch and pass, Spurs wore the relaxed looks of a team who had already won the result of their lives on this ground once this week and so were under far less pressure a second time around. Mauricio Pochettino made changes but any team with Christian Eriksen and Heung Min Son in is danger. They terrified City on the break and actually made more chances than they did here on Wednesday. Only Ederson’s anticipation and presence in goal – after a difficult few games – succeeded in keeping them out.

Player ratings: Manchester City vs Tottenham Show all 22 1 /22 Player ratings: Manchester City vs Tottenham Player ratings: Manchester City vs Tottenham Ederson – 8 Made three great saves to deny Son and Eriksen when they got in behind on the counter. AFP/Getty Images Player ratings: Manchester City vs Tottenham Kyle Walker – 7 out of 10 Soccer Football - Premier League - Manchester City v Tottenham Hotspur - Etihad Stadium, Manchester, Britain - April 20, 2019 Manchester City's Kyle Walker pours water on himself REUTERS/Phil Noble EDITORIAL USE ONLY. No use with unauthorized audio, video, data, fixture lists, club/league logos or "live" services. Online in-match use limited to 75 images, no video emulation. No use in betting, games or single club/league/player publications. Please contact your account representative for further details. PHIL NOBLE REUTERS Player ratings: Manchester City vs Tottenham John Stones – 5 out of 10 Looked ropey early after not playing for a while but worked hard against Son and Moura. PA Player ratings: Manchester City vs Tottenham Aymeric Laporte – 6 out of 10 A similar situation to Stones. Son and Moura had the better of him in the opening stages, but he managed to learn from that and make some crucial tackles to deny Son when he tried to attack on the counter. Getty Images Player ratings: Manchester City vs Tottenham Oleksandr Zinchenko – 6 out of 10 Did a decent job in a troublesome position for City. He was asked to go forward but he did so with limited success. AFP/Getty Images Player ratings: Manchester City vs Tottenham Kevin De Bruyne – 6 Started the game well, created some chances but had a few poor crosses. Got injured towards the end of the first half so didn’t have a lasting impact. EPA Player ratings: Manchester City vs Tottenham Ilkay Gundogan – 6 out of 10 Fluid, sharp and in control when Man City moved forward. He did his job to set up the wide men to put the balls into the box. Action Images via Reuters Player ratings: Manchester City vs Tottenham Phil Foden – 7 out of 10 Got himself into a lot of key positions and was rewarded with his first goal in the Premier League. He made a few errors, but you can put that down to his age. Getty Images Player ratings: Manchester City vs Tottenham Bernardo Silva – 9 out of 10 Man City’s key man today. He didn’t stop running all game and caused a ton of problems down the right wing. His ball into Aguero for the goal was sublime. PA Player ratings: Manchester City vs Tottenham Sergio Aguero – 7 out of 10 Had the awareness to find Foden on the far post to finish off a well worked goal for Man City and make Vertonghen and Alderweireld work hard at the back. REUTERS Player ratings: Manchester City vs Tottenham Raheem Sterling – 7 out of 10 Had the wool on Foyth, he was just too quick for the young Tottenham man but missed a great chance to score a second for City in the second half. AFP/Getty Images Player ratings: Manchester City vs Tottenham Paulo Gazzaniga – 7 out of 10 Found his feet as the game went on and made a good reactionary save to deny Sterling in the second half. REUTERS Player ratings: Manchester City vs Tottenham Juan Foyth – 6 out of 10 Struggled against the pace of Sterling but put in one or two good tackles to stop Sterling cutting back inside. REUTERS Player ratings: Manchester City vs Tottenham Davinson Sanchez – 6 out of 10 Threw himself into every tackle and every challenge making it hard for Aguero to find a way through. AFP/Getty Images Player ratings: Manchester City vs Tottenham Toby Alderweireld – 5 out of 10 Had to work hard in the closing stages of the first half to hold out against a Man City onslaught but was at fault to allow Foden in on goal. AFP/Getty Images Player ratings: Manchester City vs Tottenham Jan Vertonghen – 6 out of 10 Had a scrappy game but a decent one. He wasn’t exceptional but did okay. REUTERS Player ratings: Manchester City vs Tottenham Ben Davies – 6 out of 10 Was given a tough ask to play as a wingback and defend against Bernardo Silva and he definitely came off worse in this contest. AFP/Getty Images Player ratings: Manchester City vs Tottenham Christian Eriksen – 7 out of 10 Played some beautiful balls into Son and Moura to split the defence. All that was missing was a finish. PA Player ratings: Manchester City vs Tottenham Eric Dier – 5 out of 10 Had a very quiet return on his first game back from injury. Pretty forgettable. AFP/Getty Images Player ratings: Manchester City vs Tottenham Dele Alli – 6 out of 10 Showboated quite a bit but offered very little in terms of creating chances for Tottenham. AFP/Getty Images Player ratings: Manchester City vs Tottenham Heung-Min So – 7 out of 10 Had the best chances of the match for Spurs but wasn’t as clinical as he could’ve been. Getty Images Player ratings: Manchester City vs Tottenham Lucas Moura – 7 out of 10 Spurs set up for him and Son to target the counter attack. He had a couple of great chances but couldn’t beat Ederson. AFP/Getty Images

It was a lesson in the little contingent details that determine a football match. On Wednesday City had more chances but could not finish them. Here Spurs will feel that they should have got more from the match. Ultimately bounces and luck explain more than we think about where titles end up.

There was a fleeting sense, when City took the lead after only four minutes, like this might the type of smooth procession to calm nerves that were still frazzled by Wednesday night. Because when the goal came, it was classic City, an angular move they spend their lives perfecting. Bernardo Silva, cutting in from the left, floated a cross up to Sergio Aguero at the back post, he headed it back across goal for Phil Foden to head it home. A vindication of Guardiola going for Foden’s energy in midfield.

And there was plenty of energy about City in that first 15 minutes, maybe even too much. Roared on by a crowd far louder than a normal lunch-time kick off, the players responded in kind, chasing Spurs all over the pitch and jumping into tackles. At times it looked effective, when Spurs were flustered into kicking the ball long or out of play.

There is such a thing as too much energy, too much momentum, especially when that energy becomes nervous. Because City were playing so hard that they forgot to breathe, and stopped creating anything like the cool incisive football they do at their best. And with so many men flying forward, City left themselves desperately open at the back.

Foden scored the all-important goal (REUTERS)

On Wednesday night Spurs scored their first two counters through Heung Min Son, and it took some luck for the same thing not to happen again here. Four times in the first half Spurs got in to those huge gaping spaces in the City defence, gaps both opened up and exploited by the relentless brilliance of Son’s running across the front line. Ederson saved twice from Son and once from Christian Eriksen, while Aymeric Laporte had to make a perfect late tackle on Son to stop him. As if he were making up for his mistakes in midweek.

Every time Spurs attacked the crowd grew more anxious, the positivity built up by Foden’s goal getting chipped away each time. When Kevin De Bruyne limped off after over-extending his left knee hitting a low-percentage chance from distance, the tension only got worse. Especially given that De Bruyne, so good for the last few weeks, felt a new twinge in his knee ligaments, the same injury that ruined the first half of this year. He is unlikely to play again this season.

It continued to feel overwhelmingly like the second half on Wednesday night: City nominally in the driving seat, but only one goal from being unseated, and visibly terrified by the prospect.

The title remains in City's hands (REUTERS) (Reuters)

City needed a second goal to calm themselves down and they started the second half in pursuit of one. Bernardo, again, was the inspiration, driving City forward, always looking for a little opening to squeeze through. But it did not come and for all of City’s desperate appeals for a penalty, there was a far stronger claim at the opposite end, when Kyle Walker ran back to clear and used his arm to knock the ball away from Dele Alli in the box.

Guardiola needed something new, something fresh, because it still felt at this point as if City were drifting towards disaster. So Leroy Sane came on for Aguero, ready to give Juan Foyth a new problem down City’s left. He made an instant difference, crossing for Raheem Sterling, whose close-range shot hit Gazzaniga’s planted foot. It was the type of chance Sterling has scored for fun all season.