First-half goals from Tom Bradshaw and Conor Hourihane gave Barnsley a 2-1 victory over Norwich at Oakwell.
The visitors produced an improved second-half performance, with Nelson Oliveira pulling a goal back.
But they were unable to score an equaliser, allowing Barnsley to close the gap to the eighth-placed Canaries to two points in the Sky Bet Championship.
Barnsley’s Ryan Kent tried an early long-range shot which was comfortably dealt with by keeper John Ruddy.
Norwich responded with Alex Pritchard floating a free-kick narrowly wide of Adam Davies’ right-hand post.
Bradshaw then opened the scoring with a fine finish in the 12th minute, sweeping the ball home after meeting Josh Scowen’s cross from the right.
The visitors looked for a quick response and Davies was forced to save from Robbie Brady’s free-kick.
The Barnsley goalkeeper also kept out a low shot from Nelson Oliveira.
At the other end, Ruddy had to scramble back and tip Bradshaw’s header over the bar after spilling the ball from a corner.
Barnsley striker Sam Winnall was presented with a good opening when a loose ball fell to him inside the area, but he put his firm shot off target.
Norwich’s Sebastien Bassong saw his header easily gathered by Davies.
The hosts increased their lead in the 40th minute when Hourihane found the net with an impressive 20-yard effort.
In the closing stages of the half, Norwich skipper Jonny Howson put a low shot wide.
In search of a formula to overturn the two-goal deficit, Norwich manager Alex Neil made a double substitution at the beginning of the second half, sending on Youssouf Mulumbu and Martin Olsson in place of Pritchard and Josh Murphy.
Whatever Neil said to his players at the break initially had the desired effect as Norwich attacked with purpose from the re-start.
Jacob Murphy had a shot deflected wide and Howson saw his effort blocked before the visitors reduced the arrears.
The goal from Oliveira after 52 minutes was one to remember as he beat Davies with a stunning low strike from long distance.
Barnsley’s Bradshaw shot wide after being presented with an opening on the right-hand side of the area.
It was mainly Norwich posing an attacking threat, however, with Graham Dorrans putting a long-range effort over and then Davies making a good save down to his left to keep out Oliveira’s free-kick.
Murphy also put an effort on target, but his shot was straight at Davies.
Olsson’s cross then picked out Murphy, who shot wide.
Barnsley boss Paul Heckingbottom made a double substitution, taking off strike duo Winnall and Bradshaw, who were replaced by Adam Hammill and Stefan Payne.
Mo Pinto was the next Norwich player to try his luck, firing in a shot from fully 35 yards out, but Davies was equal to it, palming the ball away.
Oliveira threatened to score a second goal late on and the hosts had defender Marc Roberts to thank as he produced a crucial, timely challenge to dispossess the striker.