Postpublished at 42 mins
Borussia Dortmund 0-2 Mainz
Mats Hummels bails Dortmund out. Lee Jae-sung is almost through onto a long ball but the veteran defender pops up to stop him.
FT: Cologne 1-2 Bayern Munich; Dortmund 2-2 Mainz - Bayern champions as it stands
Raphael Guerreiro gives Dortmund hope before Sule equaliser but not enough
Cologne level against Bayern from penalty spot but Musiala restores lead
Emlyn Begley
Borussia Dortmund 0-2 Mainz
Mats Hummels bails Dortmund out. Lee Jae-sung is almost through onto a long ball but the veteran defender pops up to stop him.
Borussia Dortmund 0-2 Mainz
Dortmund's Raphael Guerreiro is booked now, for dissent I think.
Borussia Dortmund 0-2 Mainz
Marco Reus has been at Dortmund for a decade and never won the Bundesliga, he joined them the season after they last won the title.
Borussia Dortmund 0-2 Mainz
Karim Adeyemi can't play on. He didn't look right at all. Captain Marco Reus comes on.
Borussia Dortmund 0-2 Mainz
The Dortmund physios are busy. Marius Wolf needs treatment now after being caught in a tackle.
Borussia Dortmund 0-2 Mainz
Karim Adeyemi is back on after some treatment. The Dortmund speedster doesn't look right but he's such an important player for them they probably see it as worth a risk.
Borussia Dortmund 0-2 Mainz
There's a break in play for an injury and Dortmund sub Jude Bellingham throws his team-mates some drinks.
Borussia Dortmund 0-2 Mainz
Another Mainz chance from a corner but it's blocked. Wasn't a proper chance really but a major scare still.
Another Mainz goal and it might all be over.
#bbcfootball or text 81111 (UK only - only - texts will be charged at your standard message rate)
Jack Tanner: Dortmund thought all they had to do was turn up.
Borussia Dortmund 0-2 Mainz
Attack v defence now. You feel Dortmund really need a goal before half-time to lift the mood.
Julian Brandt's hooked volley from a tight angle is saved.
Borussia Dortmund 0-2 Mainz
What is up with Dortmund? This should be a simple cross for Marius Wolf after he steps past a defender but then he just floats it over everyone.
Borussia Dortmund 0-2 Mainz
We're past the half-hour mark. Dortmund need to score three times - or else hope Cologne score against Bayern.
Borussia Dortmund 0-2 Mainz
Dortmud have not come from two goals down to win a Bundesliga game since January 2022. The last time they did it at home was November 2003.
Borussia Dortmund 0-2 Mainz
Not for the first time, Mainz keeper Finn Dahmen is able to catch a cross too easily.
Borussia Dortmund 0-2 Mainz
Karim Onisiwo's goal makes him Mainz's all-time top Bundesliga scorer with 32. Robin Quaison had 31.
Borussia Dortmund 0-2 Mainz
Borussia Dortmund will never get over this one if they don't win the title today.
Will German football ever get over it? Bayern are going for an 11th title in a row.
Cologne 0-1 Bayern Munich
A Bayern fan is waving a cardboard Bundesliga trophy in the crowd. He might be seeing the real thing soon enough...
Karim Onisiwo
Oh oh.
Mainz double their lead.
Karim Onisiwo is unmarked as he gets a head onto Lee Jae-sung's cross. Gregor Kobel gets a glove onto the ball but just nudges it onto the inside of the post and it squirms over the line.
Borussia Dortmund 0-1 Mainz
Mainz break down the left but Lee Jae-sung's low cross is blocked.
Borussia Dortmund 0-1 Mainz
Dortmund fans scream for another penalty as Aaron Martin seems to barge over Raphael Guerreiro.
The referee says no (again) and this time VAR doesn't intervene.