Match ends, Barnsley 2, Norwich City 1.
Barnsley secured a first home league win since 27 August by inflicting Norwich's sixth defeat in seven games.
Tom Bradshaw put them ahead with a clever finish from Josh Scowen's cross and skipper Conor Hourihane fired home a superb second before the break.
Norwich were more assertive after the interval and Nelson Oliveira reduced the deficit with a low 25-yard shot.
The Canaries continued to press but Graham Dorrans and Jacob Murphy missed the target as Barnsley held out.
- Saturday's EFL action live text as it happened
- Gayle scores treble as Newcastle return to Championship summit
Norwich boss Alex Neil, who played more than 100 games for Barnsley during his playing career, made one change to the side that thrashed Brentford 5-0 last week, with Josh Murphy joining his twin brother in the starting line-up.
They were second best for most of the first half, though, as Bradshaw and Hourihane both scored their first goals since the home side's 4-0 win at Wolves in mid-September.
Neil, twice on the losing side for the Reds against Norwich in 2001-02, made a double change at the break as Josh Murphy and Alex Pritchard were replaced by Youssouf Mulumbu and Martin Olsson.
Oliveira's sixth of the season put them on the front foot, but their best effort in the closing stages was a shot from distance by full-back Ivo Pinto, which was saved by Adam Davies, as they slipped to eighth in the table, with Barnsley moving up to 11th.
Barnsley head coach Paul Heckingbottom: "It was a case of two teams playing two different shapes and I thought we imposed our shape on them better in the first half.
"They made changes at half-time and they imposed their shape and system on us at the start of the second half.
"It changes the mentality and we had to get to grips with the middle of the park again. They were much stronger with their midfield three so we had to change and regain control of the middle of the pitch.
"I don't think there's ever been a dip in confidence or belief. You need to not get down if things aren't going your way and don't get carried away if they are going your way."
Norwich boss Alex Neil: "We basically got bullied in the first half. Physically, we didn't compete.
"They're good at what they do and if you don't match it you're going to have a tough time. "To be fair to them, they thoroughly deserved the win based on their first-half performance.
"It wasn't down to tactics - we just didn't compete well enough, which is hard to accept. In the second half it was roles reversed and I thought we were totally dominant.
"You've got to be flexible in this league, take any test that comes your way and be good enough to overcome it."
Line-ups
Barnsley
Formation 4-4-2
- 1Davies
- 2Bree
- 4Roberts
- 5MacDonald
- 17Yiadom
- 6Scowen
- 29Morsy
- 8Hourihane
- 40KentSubstituted forJankoat 90+5'minutes
- 9WinnallSubstituted forHammillat 71'minutes
- 20BradshawSubstituted forPayneat 72'minutes
Substitutes
- 7Hammill
- 13Townsend
- 16Evans
- 19Kpekawa
- 21Janko
- 23Payne
- 28Williams
Norwich
Formation 4-2-3-1
- 1Ruddy
- 25Pinto
- 24Bennett
- 6Bassong
- 12BradySubstituted forLaffertyat 85'minutes
- 8Howson
- 4Dorrans
- 22Murphy
- 21PritchardSubstituted forOlssonat 45'minutes
- 31MurphySubstituted forMulumbuat 45'minutes
- 9Oliveira
Substitutes
- 3Olsson
- 5Martin
- 13Jones
- 14Hoolahan
- 15Klose
- 18Mulumbu
- 19Lafferty
- Referee:
- Andy Woolmer
- Attendance:
- 12,306
Match Stats
- Possession
- Home39%
- Away61%
- Shots
- Home8
- Away18
- Shots on Target
- Home3
- Away7
- Corners
- Home3
- Away7
- Fouls
- Home12
- Away8
Live Text
Post update
Full Time
Second Half ends, Barnsley 2, Norwich City 1.
Substitution
Substitution, Barnsley. Saidy Janko replaces Ryan Kent.
Post update
Corner, Norwich City. Conceded by Conor Hourihane.
Post update
Corner, Norwich City. Conceded by Conor Hourihane.
Post update
Attempt blocked. Youssouf Mulumbu (Norwich City) right footed shot from the centre of the box is blocked.
Post update
Corner, Norwich City. Conceded by James Bree.
Post update
Hand ball by Youssouf Mulumbu (Norwich City).
Substitution
Substitution, Norwich City. Kyle Lafferty replaces Robbie Brady.
Post update
Foul by Graham Dorrans (Norwich City).
Post update
Josh Scowen (Barnsley) wins a free kick in the defensive half.
Post update
Jacob Murphy (Norwich City) wins a free kick in the attacking half.
Post update
Foul by Sam Morsy (Barnsley).
Post update
Youssouf Mulumbu (Norwich City) wins a free kick in the defensive half.
Post update
Foul by Josh Scowen (Barnsley).
Post update
Attempt saved. Ivo Pinto (Norwich City) right footed shot from outside the box is saved in the bottom right corner. Assisted by Martin Olsson.
Post update
Nélson Oliveira (Norwich City) wins a free kick on the left wing.
Post update
Foul by Marc Roberts (Barnsley).
Post update
Graham Dorrans (Norwich City) wins a free kick in the defensive half.
Post update
Foul by Conor Hourihane (Barnsley).