Last updated on .From the section League One

Sunderland stayed second in League One after beating promotion rivals Barnsley at a rain-soaked Stadium of Light.

The Black Cats looked to have effectively wrapped up the points by securing a healthy 3-0 cushion inside 32 minutes.

But Barnsley, looking to swap places with their opponents, battled back through Kieffer Moore's double before Luke O'Nien's late clincher for the hosts.

Sunderland scored the first of three goals when Tykes defender Ethan Pinnock was adjudged to have fouled Aiden McGeady in the area and the Irish winger converted the penalty.

Less than 60 seconds later, Josh Maja turned Pinnock deep in the visitors' half before curling a finish inside the right post for his 12th goal of the season.

Sunderland's third arrived when Lynden Gooch's effort deflected high and beyond Adam Davies.

But Barnsley made a fight of it. Moore drilled them back into it four minutes before half-time and Cauley Woodrow hit the frame of the goal in added time.

Moore made it 3-2 in the 61st minute when he headed in from one of many corners at the near post.

But Sunderland ensured they would extend their unbeaten run to 14 games when substitute O'Nien slid in to finish McGeady's pass with seven minutes left.

Match report supplied by the Press Association.