LEE Gregory scored on his 150th appearance for Millwall, but was unable to stop his side falling to a 3-1 defeat to Barnsley at The Den.
Neil Harris made two changes to the team that beat Reading on Tuesday night with Shaun Williams and Fred Onyedinma making way for full debutant Ryan Tunnicliffe and Gregory, who had completed a three-match ban.
Williams, who had a late fitness test on Tuesday, was out with a knee injury with Onyedinma reverting to the bench.
And it was Gregory who had the game’s first chance on four minutes – and what a glorious chance it was.
Tunnicliffe’s lofted header back into the box fell invitingly to Gregory’s feet. After the striker spun his man, he saw his low shot saved by the legs of Adam Davies in the visitors' goal.
Thereafter, the game hit a lull.
Neither side looked like they wanted to keep hold of possession for large spells of the game as Tom Bradshaw saw a weak headed effort easily gathered by Jordan Archer in the hosts' goal.
The tempo dropped as both sides conceded possession on several occasions as the half drew on.
It was a comedy of errors in the Lions defence that almost let Barnsley in on 38 minutes.
Archer initially dropped what looked like a routine catch before George Moncur tried twice to tap the ball past the Millwall keeper. Archer then saved from Bradshaw and Harvey Barnes couldn't turn in the loose ball.
Just two minutes later, however, Barnsley took the lead.
Millwall, seemingly unsettled by some questionable defending, were caught out when Barnes hit a low first-time cross into the area with Bradshaw lurking in the six-yard box to tap home.
On the stroke of half-time the Lions were level when Gregory had his legs taken from under him by Matty Pearson and the referee pointed to the spot. The striker stepped up and dispatched the penalty with confidence.
The half ended with Paul Heckingbottom remonstrating with the referee, and the Tykes boss was sent to the stands for the second half.
Barnsley went ahead again on the hour, Barnes finding time and space down the left and when he crossed to the back post Bradshaw was there to slot home. Archer did get his hands to the ball, but was only able to parry it into the net.
Millwall mustered their first real meaningful chance of the second half on 73 minutes when substitute Shane Ferguson lofted in a ball to Steve Morison on the edge of the six-yard box but his point-blank header was straight into the arms of Davies.
Harris’ men searched and pressed for an equaliser, but in doing so left space in behind.
Barnsley sub Ryan Hedges almost benefited from that but his close-range header was saved well by Archer.
Barnsley wrapped up the points late on when sub Jared Bird jinked his way into the box and was fouled by Ferguson.
Fellow sub Mamadou Khady Thiam slotted home the penalty to seal the points.
The result was the same as the 2016 League One play-off final between the sides, as Millwall lost their four-game unbeaten run to drop to 13th in the Championship table.
Image: Millwall FC