Bayern Munich clinched the Bundesliga title in record-breaking fashion, with six games to spare – the quickest ever triumph in German league history.
Bastian Schweinsteiger scored the only goal of the game at Eintracht Frankfurt with a lovely back-heeled finish.
Bayern have lost only once all season, conceding 13 goals, and have won all 11 games since the winter break.
Defending champions, Borussia Dortmund, beat Augsburg 4-2 but are 20 points behind with only 18 left to play for.
In England, Tomas Rosicky scored in each half as 10-man Arsenal withstood a West Brom fightback to move above Chelsea into fourth place in the Premier League.
Rosicky cleared a Claudio Yacob effort off the line before putting Arsenal ahead with a powerful diving header.
The Czech midfielder struck again after half-time, drilling into the bottom corner at the second attempt.
James Morrison converted a penalty as Per Mertesacker was sent off for a foul on Shane Long, but Arsenal held firm.
They go a point clear of Chelsea in the final Champions League spot, but have played a game more than the Stamford Bridge club.
The Gunners have won six of their last seven league games and are one point behind Tottenham – who, like Chelsea, play on Sunday.
West Brom remain eighth, which would be their highest Premier League finish, but they have only won once in their last five top-flight games.
Arsenal were back at The Hawthorns for the first time since winning on the final day of last season to secure Champions League qualification.
Results
Barclays Premier League
Reading 0-2 Southampton
West Brom 1-2 Arsenal
English League Championship
Birmingham City 1-1 Millwall
Bolton 2-0 Wolves
Brighton & Hove Albion 1-1 Leicester City
Burnley 3-1 Bristol City
Charlton Athletic 2-1 Leeds
Crystal Palace 0-0 Barnsley
Derby 0-1 Ipswich
Huddersfield 2-2 Peterborough
Hull City 1-0 Middlesbrough
Nottingham 1-1 Blackpool
Sheffield Wed 3-2 Blackburn.