Leeds conceded three second-half goals to Cardiff in the Championship on Saturday as they missed out on a chance to go back top.
West Brom had won earlier in the day to pile on the pressure on their title rivals and they are now two points ahead.
Marcelo Bielsa’s Leeds had the chance to win their eighth straight game but suffered heartbreak late on.
Helder Costa got the home side off to a great start with a goal in the sixth minute before Patrick Bamford doubled that lead two minutes later.
Bamford added his second from the penalty spot after half-time before Cardiff cut the deficit with 30 minutes to go.
They were given a late scare with eight minutes left as Sean Morrison made it 3-2 but Morrison was sent off for violent conduct soon after.
Robert Glatzel completed the remarkable comeback with a third goal two minutes from time.
Liverpool discover opponents for FIFA Club World Cup semi-final
Arsenal confirm Kieran Tierney set for months out with dislocated shoulder
Eden Hazard vows to go back to Chelsea when he’s done at Real Madrid
Liverpool clear at the top, Chelsea lose again, Villa struggle on the road and more
West Ham get much-needed win to ease pressure on Pellegrini
not up to it
Steve Bruce gives scathing assessment of referee’s performance on PL debut
Lampard critical after Chelsea’s defeat to Bournemouth: ‘Too slow, I don’t like it’
How Ronaldinho ‘tricked’ Brazil teammate into joining Man United over Leeds
West Brom survived a scare in their Midlands derby with Birmingham in the early kick-off to win 3-2.
Luka Jutkiewicz put Blues ahead just three minutes into the game but Grady Diangana hit back in the 10th minute.
Harlee Dean restored the home side’s advantage after half-time but two goals in eight minutes form substitute Charlie Austin gave the three points to the Baggies.
Sheffield Wednesday moved up to fourth in the Championship with a thumping 4-0 win at Nottingham Forest.
Jordan Rhodes scored a first-half hat-trick to put Wednesday in control. Steven Fletcher then added a fourth late on in the first 45 mintues.
Birmingham City 2-3 West Brom (12.30pm kick-off)
Barnsley 5-3 QPR
Brentford 1-0 Fulham
Bristol City 0-2 Blackburn
Derby County 0-1 Millwall
Leeds 3-3 Cardiff
Nottingham Forest 0-4 Sheffield Wednesday
Preston 2-1 Luton
Stoke 0-0 Reading
Swansea 3-1 Middlesbrough
Wigan 1-1 Huddersfield