Swansea City returned to the top of the table with a 2-1 comeback win at Charlton Athletic as Derby County were denied victory against Barnsley by a 94th-minute goal in Wednesday's Championship action.

A winless September saw Swansea slip from the summit, but they hit back after Jonathan Leko's early opener at The Valley through goals from Yan Dhanda and Andre Ayew.

Derby were on the brink of making it back-to-back victories following a turbulent start to the campaign in their meeting with Barnsley, only for Conor Chaplin to snatch a 2-2 draw for the struggling hosts deep into additional time.

A Chris Martin strike and Tom Huddlestone's penalty had given Derby the lead after Aapo Halme opened the scoring at Oakwell, though Phillip Cocu's side could not hold on and sit in 16th place.

IN-FORM CARDIFF MAINTAIN MOMENTUM

Cardiff City made it seven league matches without defeat as they saw off Queens Park Rangers in south Wales.

Sean Morrison gave Cardiff the lead 11 minutes in and further goals followed either side of half-time from Marlon Pack and Callum Paterson.

The win lifts Neil Warnock's men into 10th, just a point behind seventh-placed Bristol City following the Robins' 1-1 draw at Brentford.

A point was a positive result for the visitors in the end, however, as Andreas Weimann headed home three minutes from time at Griffin Park to cancel out Josh Dasilva's 64h-minute opener.

LUTON AND MILLWALL TAKE A POINT APIECE

Millwall's wait for a Championship win now stands at seven matches after they played out a 1-1 draw with fellow strugglers Luton Town at Kenilworth Road.

Tom Bradshaw looked to have given Millwall the win with his sliding finish on the hour, but Callum McManaman scored his first goal for Luton late on after being brought on as a substitute.