Barnsley held off a late Middlesbrough fightback to hold on for a win that moves them off the bottom of the table.
Paddy McCourt opened the scoring for the Tykes with a solo run before Chris O'Grady turned in Jim O'Brien's shot.
O'Grady then scored from the spot after Marcus Pedersen was tripped by Ben Gibson to make it 3-0 at the break.
Late on, Albert Adomah drove in from the edge of the area and headed in Frazer Richardson's cross in the space of two minutes, but the Tykes held on.
Ex-Celtic winger McCourt walked the ball into the net after a run that beat three defenders for his first goal for the club since
joining on a free transfer in the summer.
David Flitcroft's side doubled their advantage when O'Brien's drive glanced off O'Grady and past Middlesbrough goalkeeper Jason Steele.
After Gibson brought Pederson down in the area, O'Grady made no mistake from 12 yards to score his seventh of the season and give the hosts a commanding half-time lead.
Adomah gave Boro hope with his late double, but Barnsley, who remain in the Championship relegation zone, scrapped their way to a first home win since August.
Barnsley manager David Flitcroft:
"We've got three points against an outstanding team. In the second half they went for it but we stuck firm.
"I am delighted we got the three points and proud that we didn't collapse.
"We've got a plan and know where we want to be in the league table at the end of the season."
Middlesbrough manager Tony Mowbray:
"It was 3-0 and we should have scored some goals in that first half.
"We needed to get some pride in the second half. We came out and took a couple of chances. I can't remember our goalkeeper making a save.
"We have scored enough goals to be higher in the table but I have to solve the problem of goals going in."
- 12 Butland
- 14 Wiseman
- 04 Kennedy
- 34 Fox
- 06 Cranie
- 22 Mvoto
- 21 Mellis (Cywka - 65' )
- 11 Perkins
- 10 O'Grady
- 20 Pedersen (Scotland - 75' )
- 42 McCourt (O'Brien - 29' )
- 02 Hassell
- 07 O'Brien
- 08 Dawson
- 09 Scotland
- 16 Jennings
- 19 Cywka
- 23 Etuhu
- 01 Steele
- 05 Richardson
- 03 Friend
- 07 Leadbitter
- 15 Hines
- 22 Gibson
- 06 Butterfield (Emnes - 45' )
- 18 Whitehead (Smallwood - 45' )
- 09 Jutkiewicz (Carayol - 67' )
- 29 Kamara
- 27 Adomah
- 04 Williams
- 08 Varga
- 10 Emnes
- 13 Konstantopoulos
- 19 Carayol
- 21 Parnaby
- 33 Smallwood
Ref: Oliver Langford