Barnsley drew 1-1 at home to promotion rivals Reading to remain fifth in the Championship with seven games remaining.
The visitors took the lead ten minutes before half-time but Alex Mowatt levelled with a penalty after the break then the hosts had a succession of chances and a goal ruled out. At the other end, Reading's Lucas Joao inexplicably missed an open goal at 1-1.
The Reds remain fifth in the Championship but are just three points ahead of seventh-placed Bournemouth who have a game in hand.
Valerien Ismael made one change from the side that lost at home to Sheffield Wednesday before the international break, with Victor Adeboyejo replacing Daryl Dike.
The hosts started well but Mads Andersen gifted the visitors a big chance in the seventh minute when he lost the ball to Yakou Meite who went clean through on goal but blazed over 12 yards out on the right of the box.
Reading then had a good spell with Lucas Joao blazing over ten yards out in the box after a low corner from the right was flicked on.
Michal Helik had the Reds' first shot on target in the 30th minute when he met Alex Mowatt's right-wing free-kick eight yards out but headed straight at the goalkeeper Rafael.
The deadlock was broken in the 35th minute when a long ball over the top by Andy Rinhomota was brought down by Ovie Ejaria who shot into the bottom right corner from just inside the box. He had run between Callum Brittain and Michal Helik with Michael Sollbauer out of position.
Barnsley responded well with Brittain's cross almost floating in but it hit the crossbar then Romal Palmer headed over from a Cauley Woodrow corner.
The Reds had started and finished the first half well, and played some good football at times, but seemed to lose their way in-between with Reading creating the better chances.
Ismael took off Woodrow and Adeboyejo at the break with Carlton Morris and Daryl Dike coming on then Aapo Halme came on for his 50th Reds appearance just before the hour-mark for Palmer.
The leveller arrived just after the hour-mark when Callum Styles was pulled down in the box by former Reds captain Andy Yiadom and current skipper Mowatt blasted in the penalty.
The visitors should have re-taken the lead on 75 minutes. Meite, who had run out of play after an earlier attack, appeared from behind goalkeeper Collins when Styles passed it back to him and won the ball then it rolled to Joao who inexplicably fired wide of an open goal from 12 yards out.
The Reds then created a series of chances. Styles blazed over a more difficult chance from 15 yards out after Dike headed a long ball to him. Andersen thought he had scored after goalkeeper Rafael dropped a Mowatt free-kick but his scuffed effort while on the floor seven yards out trickled onto the base of the left post.
Morris then beat Yiadom on the left of the box but his low shot was easily saved by Rafael before Halme headed over a left-wing Mowatt corner from ten yards out.
Barnsley had the ball in the net from a Mowatt corner but it was ruled out for a foul on the goalkeeper.
Barnsley (3-4-3): Collins; Sollbauer, Helik, Andersen; Brittain, Mowatt, Palmer (Halme 58mins), Styles; Frieser, Woodrow (Dike HT), Adeboyejo (Morris HT). Unused: Walton, J Williams, Sibbick, Chaplin, Oduor, Moon. Yellow cards: Woodrow, Palmer, Halme. Goals: Mowatt (pen) 61.
Reading (4-2-3-1): Rafael; Yiadom, Morrison (Holmes 43mins), Moore, Gibson; Rinhomota, Laurent; Olise (Semedo 84), Meite, Ejaria; Joao. Unused: Southwood, Esteves, Richards, Baldock, Aluko, Tetek, Puskas. Goals: Ejaria 35.
  • The Reds get us underway.
  • 5:34pm
    1 Alex Mowatt fires wide from an early long throw on the right by Dominik Frieser.
  • 5:36pm
    3 Cauley Woodrow finds Alex Mowatt on the left and the midfielder fires a low cross in that's cleared high into the air. The Reds maintain the pressure and Callum Styles gets another attempt to cross from the same position, but it's dealt with by the visitors.
  • 5:38pm
    5 Some good passing on the right sees Dominik Frieser find Callum Brittain, whose cross is partially cleared as far as Cauley Woodrow. The forward wins a corner on the same side, that's about to be followed by another.
  • 5:41pm
    8 Yakou Meite with a horrible miss after being gifted a chance by Mads Andersen. The centre back mistimed his tackle on the right of the Reds defence and the winger was able to advance, but skewed his left-footed effort well over the bar one-on-one.
  • 5:46pm
    13 Yakou Meite's effort is the only real chance of the game so far. Otherwise it's been fairly even, Reading probably getting more joy in the wide areas but the Reds playing some tidy football in their opponents' half.
  • 5:47pm
    14 Alex Mowatt with an optimistic effort that's blocked after another long throw from the right by Dominik Frieser.
  • 5:48pm
    16 Lucas Joao with some impressive dribbling cuts in from the left and wins a free kick, getting dragged down by Alex Mowatt 20 yards out.
  • 5:49pm
    16 Liam Moore wins a corner, his set piece blocked by the wall.
  • 5:50pm
    18 Another corner is fired high over the bar by Lucas Joao 12 yards out after bobbling through to the centre of the box.
  • 5:51pm
    18 Cauley Woodrow booked for backing into Michael Morrison while trying to collect Brad Collins' clearance. Strange decision.
  • 5:52pm
    20 Mads Andersen fires it across to Callum Brittain on the right of the box, and the full-back does well to head it across to Victor Adeboyejo whose strike is blocked.
  • 5:55pm
    22 Some sustained pressure sees Callum Styles fire it low into the box and both Victor Adeboyejo and Dominik Frieser challenge for it. The referee eventually blows his whistle for a foul and Romal Palmer lifts it over the bar.
  • 5:58pm
    25 Romal Palmer is booked for a lunge after losing the ball. The midfielder had done well to dribble through the defence up to that point.
  • 5:59pm
    26 The visitors get a corner on the left, which is just about cleared by Callum Styles before Alex Mowatt fires it upfield.
  • 6:02pm
    30 A flowing counter attack is stopped prematurely as Victor Adeboyejo is brought down while flicking the ball on for Cauley Woodrow. Alex Mowatt steps up to play it into the box.
  • 6:03pm
    30 Michal Helik heads it into Rafael Cabral's hands from the set play.
  • 6:07pm
    35 Ovie Ejaria slots under Brad Collins after a good touch to collect a long ball. Pretty much route one from the visitors.
  • 6:10pm
    37 Almost a mostly unintentional immediate reply from the hosts as Callum Brittain takes on his man and whips the ball into the box. It rebounds off the bar and across the box.
  • 6:11pm
    38 Cauley Woodrow's strike is blocked as the forward chests down Callum Brittain's cross from the right. It's then cleared up the pitch.
  • 6:14pm
    41 A powerful effort from Callum Brittain is blocked by Liam Moore who had to stoop low to get his head on it. Callum Styles on the opposite side had played the ball towards the far post, which was partially cleared until Brittain collected.
  • 6:14pm
    42 Michael Morrison off for Reading.
  • 6:14pm
    SUB ON
    42 Tom Holmes.
  • 6:17pm
    45 Callum Styles winds up an effort from long range after Callum Brittain's cross is cleared, which is deflected wide, but the referee stops play for an offside - not clear from who, as the Reds protest.
  • 6:18pm
    2 minutes added time
  • 6:20pm
    HALF-TIME: Barnsley 0, Reading 1.
  • 6:36pm
    Two half-time changes for the Reds, Cauley Woodrow and Victor Adeboyejo off.
  • 6:36pm
    SUB ON
    Daryl Dike and Carlton Morris come on.
  • 6:38pm
    47 Daryl Dike forces Liam Moore to put it out for a throw in a decent position on the right, which Dominik Frieser launches into the box - but it's cleared right back to Brad Collins.
  • 6:39pm
    48 A quick counter from the visitors sees Lucas Joao one-on-one with Michal Helik. He plays in Yakou Meite, who can't stretch to get his foot to it on the near post.
  • 6:43pm
    53 Two long throws in succession from Lewis Gibson, with the second cleared for a corner on the left.
  • 6:46pm
    55 A very high ball is sent into the box and both Carlton Morris and Daryl Dike get underneath it, forcing a corner on the right. Rafael Cabral very nearly misses his punch but the defence recover and clear.
  • 6:48pm
    58 Romal Palmer.
  • 6:48pm
    SUB ON
    58 Aapo Halme.
  • 6:49pm
    58 Aapo Halme making his half-century for the Reds as he comes on in midfield.
  • 6:51pm
    60 Penalty for the Reds!
  • 6:51pm
    60 Callum Styles is grabbed by the neck and goes down during a Reds attack. Alex Mowatt to take.
  • 6:52pm
    61 Alex Mowatt hits it down the middle.
  • 6:53pm
    61 It was ex-Red Andy Yiadom who grabbed Callum Styles, who wasn't in a particularly dangerous position when he went down.
  • 6:57pm
    65 The Reds looking much more lively now. A cross is cleared and Callum Brittain sends it upfield, moments later getting chance to play it to the far post.
  • 6:57pm
    66 Aapo Halme gives a foul away in the opposition penalty area after the ball is played in.
  • 6:58pm
    68 Aapo Halme booked for shirt pulling.
  • 7:02pm
    71 The pace has slowed a little after Barnsley's surge following their equaliser. They're firing more long balls up but none are connecting with the front line.
  • 7:06pm
    74 Brad Collins calmly collects from a through ball as Yakou Meite breaks the back line. Moments later, Lucas Joao somehow fires wide as Collins wrestles with Meite to get to Callum Styles' loose backpass. A strange moment but a very poor miss from Joao.
  • 7:07pm
    75 Callum Styles fires over the bar after picking up on a bad clearance to the left of goal.
  • 7:10pm
    79 A hectic few minutes. Alex Mowatt's free kick on the halfway line is nearly bundled in by Mads Andersen, but somehow comes back out off the post.
  • 7:11pm
    80 Carlton Morris cuts inside from the left and hits it low at Rafael Cabral's goal, but he scrambles to keep hold of it.
  • 7:12pm
    81 Callum Styles is played in with a perfectly weighted lofted ball from Alex Mowatt in the middle of the park, and the full-back does well to lift it into the box from a tight angle. It's cleared by the desperate Lewis Gibson.
  • 7:12pm
    82 Aapo Halme heads over from the resulting corner on the left.
  • 7:14pm
    84 Michael Olise.
  • 7:14pm
    SUB ON
    84 Alfa Semedo.
  • 7:18pm
    87 Some good passing play on the right from Barnsley sees Callum Brittain play it to Dominik Frieser after Carlton Morris' lay off. The forward wins a corner.
  • 7:18pm
    87 The Reds have the ball in the net from the corner, but it's judged to be a foul on Rafael Cabral on his near post.
  • 7:20pm
    89 Daryl Dike gets a moment to wind up on the edge of the box, but his effort is scuffed past the far post.
  • 7:21pm
    2 minutes added time
  • 7:22pm
    90+1 Alex Mowatt receives the ball from Daryl Dike in the middle and takes a first-time shot from long range, but it's blocked on the edge of the box.
  • 7:23pm
    FULL-TIME: Barnsley 1, Reading 1.