Full-time score from Oakwell
Millwall's hopes of closing the gap on the Play-Off pack suffered a setback as two second-half goals in 12 minutes from Chris Dagnall (56mins) and sub Jason Scotland (68mins) secured a double for struggling Barnsley.
The Lions came crashing back down to earth following their FA Cup exploits against Aston Villa on Friday night as Kenny Jackett's men slipped to a disappointing defeat.
Jackett had shown faith with the same team that had faced Villa, meaning a second successive start for both John Marquis and Karleigh Osborne; the former partnering Andy Keogh up front and the latter taking his place in the heart of defence alongside Danny Shittu.
New signing Rob Hulse joined Shane Lowry and Martyn Woolford on the bench. Lowry was available again following a two match ban and Woolford came back having been Cup-tied for the Villa game.
"We had one good chance in either half with Andy (Keogh) and John (Marquis), but did not make them count," said Jackett.
"It was disappointing not to build on Friday night's performance against Aston Villa, but we won't dwell on this result.
We have another big game on Saturday and it can't come quick enough for us so that we can get back on track again."
There were just two minutes on the clock when Liam Feeney shrugged off the attentions of right-back John Stones and delivered a teasing cross that dropped wide of the far post.
Keogh went even closer on 12 minutes; Marquis dispossessed Tom Kennedy and slipped the ball to Adam Smith, who in turn fed James Henry. The right winger's delicious cross was met first-time by Keogh, but he smashed his first-time shot narrowly over from eight yards.
At the other end Barnsley's Dagnall and Kennedy both tried their luck from distance, but failed to find the target.
The home side won the first corner of the game on 18 minutes, but some solid defending by The Lions rearguard dealt with Jim O'Brien's delivery.
Kelvin Etuhu drove a 20-yarder wide and Marlon Harewood had a half-hearted appeal for a penalty waved away when he lost his footing on the increasingly sodden Oakwell surface as Barnsley enjoyed a little spell of pressure midway through the half.
Keeper David Forde came racing out of his goal to make a timely interception from the onrushing Dagnall, who had sprinted clear of the visiting backline, and boomed his clearance to safety to break up another home attack.
But Millwall weathered the storm and created a couple of half-chances themselves before the break; Feeney's piledriver was blocked by Stephen Foster and then Trotter's sweetly struck shot hit the target, but also the hands of Luke Steele in the Barnsley goal as he comfortably collected the midfielder's effort.
Barnsley came out like a train at the start of the second half and within 11 minutes their pressure had paid off.
O'Brien had already been thwarted by some good defensive play by Feeney before forcing Forde into a low sprawling save, pushing his goalbound effort round the post for a corner.
But Forde could do nothing about Barnsley's opener, a smart finish from Dagnall that gave the keeper no chance, although there was a clear feeling in the Lions camp that he was offside.
Jackett responded by making a triple substitution, introducing Woolford, Hulse and Lowry for Feeney, Keogh and Osborne in a bid to get back on level terms.
However barely three minutes later Barnsley sub Scotland, who signed for the club just 24 hours previously, made an instant impact when he hit an unstoppable rising shot past Forde with literally his first touch of the game after a neat through ball from David Perkins.
Millwall had a good chance to reduce the arrears on 76 minutes when a huge clearance from Forde bounced into Marquis' path inside the opposing penalty area, but the striker could only knock the ball into the chest of keeper Steele.
That proved to be the only clear opportunity created by the visitors as battling Barnsley wound down the clock to secure three precious points. It could have been even worse for The Lions right at the death, but Scotland's crisp low drive was well saved by Forde.
Barnsley: Steele, Golbourne, Kennedy, Foster, Cranie, Stones, Perkins, O'Brien (Mellis, 74mins), Etuhu, Harewood (Scotland, 66mins), Dagnall (Rose, 82mins). Subs not used: Alnwick, Hassell, Wiseman, Mellis, Noble-Lazarus.
Scorers: Dagnall (56mins), Scotland (68mins)
Millwall: Forde, A.Smith, Beevers, Abdou, Shittu, Osborne (Lowry, 64mins), Feeney (Woolford, 64mins) , Trotter, Keogh (Hulse, 64mins), Marquis, Henry. Subs: M.Taylor, Wright, Hulse, Batt, J.Smith.
Booking: Marquis (85mins)
Att: 7,844 (away 160)