Manchester City squandered their chance to solidify their spot in the top five after being held to a 0-0 draw with already-relegated Southampton at St Mary's Stadium.
City could have moved level on points with Arsenal in second with a win but now stay within touching distance of their fellow Champions League chasers Newcastle, Chelsea, Nottingham Forest and Aston Villa, with 65 points in third place.
Five points separate City and Villa in seventh, with two more gameweeks remaining in the season. City face Bournemouth and Fulham in their final two fixtures, with the race for a place amongst Europe's elite now seemingly going down to the wire.
Pep Guardiola's side dominated the ball with 70 per cent possession for much of the fixture, but a stoic defensive performance from the hosts limited them to an expected-goals value of just 0.04 throughout the first half.
It was a stark contrast to what we have seen from Saints for much of the season, after conceding 82 goals across the 36 games so far, but the likes of Aaron Ramsdale, Jack Stephens and Taylor Harwood-Bellis were equal to anything City tested them with.
City went close through Bernardo Silva's effort which was cleared off the line by Stephens, and Erling Haaland's squared pass that was missed by both Savinho and Nico O'Reilly, seconds after the duo replaced Phil Foden and Rico Lewis.
Jeremy Doku and Omar Marmoush gave City more of an edge off the bench but despite flooding forward in waves, Southampton were able to hold on for just their third clean sheet of the campaign.
The draw moves them to 12 points this season, allowing them to surpass Derby's all-time low of 11 in the Premier League.
Guardiola praises Southampton defending
Man City boss Pep Guardiola:
"The second half was much better but they defended so deep. I didn't expect it. We had four or five chances and unfortunately we could not score.
"We could not do it. They were so defensive and defended so deep.
"We have three games left, three finals. Today was a massive game for us. We have been on an incredible run. It is always difficult. There were 11 players in the 18-yard box, it is difficult.
"It is what it is."
Rusk: Performance took courage
Interim Southampton boss Simon Rusk:
"Going into the game, we wanted to make it clear that we wanted to finish the season as strong as possible with lots of pride. We delivered that really well.
"Delighted for the fans and the players. My job is to support the players as much as possible.
"The players stood up and it took a lot of courage to deliver that performance. It is important to build momentum for next season."
Boyd: Man City have given top-five rivals hope
Sky Sports' Kris Boyd on Soccer Saturday:
"Man City never really had any clear-cut chances. Southampton will be delighted to get that clean sheet. Now three in 48 Premier League games.
"Ramsdale was really comfortable. A few saves - ones you expect him to make.
"When you thought Man City were just about to kick on and get the job done and get over the line in terms of that top-five spot... I still imagine they'll get it, but they've given the ones below them a sniff.
"You still expect Man City to make it. But they've given themselves a little problem. It's an opportunity for Crystal Palace [in the FA Cup final] next week as well..."
Saints spoil Haaland return
Sky Sports' Patrick Rowe:
It wasn't the return Haaland had hoped for. The forward made his first start since March 30 at St Mary's Stadium but was limited to just 17 touches on the afternoon, five of which arrived in the first half.
City struggled to create anything against bottom-of-the-table Southampton but did have fresh impetus when Marmoush stepped onto the field in the 84th minute.
Marmoush more than doubled Haaland's expected goals value on the afternoon in a fraction of the time and with even more pressure now piled on the final games of the season against Bournemouth and Fulham, a serious question needs to be asked as to who leads the line for City.
City can't afford another slip-up in the race for top five.