Borussia Dortmund's grip on second in the Bundesliga has loosened slightly after they suffered a surprise 2-0 defeat at home to struggling Mainz, who took a huge step towards safety.
Dortmund had seen Bayern Munich clinch an eighth successive Bundesliga crown on Tuesday, and perhaps the disappointment combined with the realisation of their title hopes being over was to blame for a lacklustre performance at Signal Iduna Park.
For all of their monopolisation of the ball, Dortmund struggled to supply Erling Haaland with adequate service and Mainz took a shock lead into the break thanks to Jonathan Burkardt's header at the end of a slick counter.
Complacency was then the root of their issues just after half-time as Lukasz Piszczek conceded a penalty, and Jean-Philippe Mateta converted the resulting kick.
Lucien Favre's men made desperate attempts to get back on level terms, but they were given too much to do by a Mainz side who move five points clear of the bottom three with two games left.
Dortmund were dominant for the majority of the first half, but clear-cut chances were difficult to craft against Mainz's packed defence – Axel Witsel and Raphael Guerreiro having efforts at presentable opportunities blocked.
The visitors then edged ahead against the run of play just past the half-hour mark, as Mateta fed Bote Baku on the right-flank and his first-time cross was expertly headed in by Burkardt to round off a clinical move.
That lead was almost wiped out just three minutes later, but Emre Can's header from a Dortmund corner was tame and straight at Florian Muller in the Mainz goal.
Mainz elevated their game to another level at the start of the second half.
The lively Mateta saw a ferocious effort parried by Roman Burki, who then also blocked a long-range effort courtesy of Karim Onisiwo, but the rebound fell to Danny Latza and the switched-off Piszczek tripped the midfielder to concede a penalty.
After Mateta coolly swept home his spot-kick, Mainz unsurprisingly sat back again, inviting Dortmund on to them.
But BVB fared no better than before, their best chances coming from distance, as Achraf Hakimi drew a couple of necessary saves from Muller.
What does it mean? Dortmund looking over their shoulder, Mainz almost safe
This result combined with RB Leipzig's draw with Fortuna Dusseldorf could have serious ramifications at the end of the season.
Leipzig are three points behind Dortmund, whom they host at the weekend, while Mainz are left five points clear of Fortuna in the relegation play-off place and six ahead of Werder Bremen in 17th. Their vastly superior goal difference puts Mainz on the brink of safety.
Mateta makes his mark
It has not been an easy season for Mateta, who has struggled for goal-scoring form since returning from a serious knee injury in December. But the 22-year-old Frenchman, who netted 14 times last term, was a real livewire here, regularly showing classy touches. He scored Mainz's second and had a pivotal role in their first – a very promising display.
There is no doubt Haaland's difficulties were partly down to poor service, but similarly we have grown used to him taking games by the scruff of the neck and deciding them on his own. Not this time – he failed to muster a single shot and his 19 touches were the fewest of all Dortmund players who started.
Dortmund's final position in the table will surely heavily influenced by the result in their next game, as they go to third-placed Leipzig on Saturday. Mainz can secure survival against fellow strugglers Werder Bremen on the same day.