Barnet aided their fight against League Two relegation with a surprise win at promotion-chasing Rotherham.
Jake Hyde clipped the ball over Millers keeper Andy Warrington to give the visitors the lead.
At the other end, Graham Stack had to be alert to keep out a brace of headers from Ian Sharps.
But Andy Yiadom, a 68th-minute substitute for player-manager Edgar Davids, sealed the points by sweeping in Ricky Holmes's centre.
VIEW FROM THE DRESSING ROOM:
Rotherham United assistant manager Paul Raynor told BBC Radio Sheffield:
"It's disappointing to say the least. We started brightly, created one or two openings, their keeper has made some good saves, then it petered out a bit.
"We certainly had enough possession, but very disappointed with the result and the performance.
"Barnet have proved in recent weeks if you give them something to hold on to they will do, they sit behind the ball in numbers and try and hit you on the break.
"So with all the possession we had we didn't really create clear-cut opportunities and that's disappointing."
Barnet manager Edgar Davids told BBC London 94.9:
"I didn't expect it but fortunately it went our way. I'm happy with how the players played.
"I think that we've played better in other games where we didn't get the points. Getting the points just amplifies everything.
"But if you play well against a side as strong as Rotherham you have to be proud of the team."
Rotherham 21 Warrington 05 Sharps 06 Mullins 14 Bradley 33 Ridehalgh 08 Taylor 15 Pringle (Kearns - 51' ) 22 Agard 27 Frecklington 11 Morgan (Nardiello - 56' ) 16 Odejayi (Revell - 72' ) Substitutes 30 Thompson 07 Ainsworth 10 O'Connor 31 Cameron 35 Kearns 09 Revell 17 Nardiello Barnet 29 Stack 02 Fuller 26 Johnson 30 Stephens 35 Iro (Kamdjo - 35' ) 08 Byrne 11 Holmes 20 Weston 38 Davids (Yiadom - 68' ) 19 Hyde (Atieno - 72' Booked ) 41 Sekajja Substitutes 18 Cowler 03 Brown 04 Kamdjo 15 Yiadom 31 Oster 37 Holwijn 39 Atieno