Wednesday were punished for overexuberance as they suffered their first home defeat of the season to Middlesbrough.
Adam Reach gave Boro a deserved lead just before the break. Marco Matias scored his second goal in as many starts to level up but the visitors were quickly back in front.
After committing too many men forward, Wednesday were broke against with Diego Fabbrini finishing off the counterattack.
And late on Middlesbrough secured the win with another breakaway, substitute Christian Stuani scoring.
A defeat looked on the cards at half time after a poor 45 minutes from Wednesday who simply were not at the races.
They did start the second half with real energy after a change of system but were ultimately undone by a quality Boro outfit.
Though they started poorly, the Owls had the first chance. Lucas Joao was fed into the box only for his low drive to be blocked by Daniel Ayala.
But Middlesbrough enjoyed much the better start to the game, breaking forward with pace and energy.
The Owls were sloppy during the first half, conceding possession cheaply and putting themselves under pressure. Boro dominated the midfield, crowding out Wednesday's attempts to build attacks down the centre.
Despite having the better of the play, Boro created only a couple of clear cut chances in the first half hour and the Owls were twice indebted to keeper Lewis Price for keeping the scores level.
First he superbly palmed away a Fabbrini header from point blank range before keeping out a powerful drive from Reach.
A disappointing half for the hosts worsened when Sam Hutchinson was forced off injured after just 21 minutes, replaced by Jose Semedo.
Joao remained a bag of energy for Wednesday, determined to forge his own opportunities. On the half hour mark, he darted in from wide, surging across the face of the box only to produce a tame shot that was easily gathered by Dimitrious Konstantopoulos.
Boro continued to control the game through midfield and took a deserved lead on 42 minutes.
A corner was sloppily defended by Wednesday and the ball dropped to Reach, unmarked, and he slammed in from seven yards.
Carlos Carvalhal opted for a change of system for the second half, throwing on Atdhe Nuhiu in place of Ross Wallace to switch to 4-4-2.
And the Owls started the second period with real energy. Alex Lopez capped a surging run with a low shot that grazed the upright.
And the Spanish midfielder went close again moments later, curling a free kick from 25 yards that drew a fine save from Konstantopoulos.
The momentum was firmly with Wednesday and they soon had the equaliser.
The ball sat up nicely for Matias on the edge of the box and he smashed a shot which took a wicked deflection and looped over Konstantopoulos.
Hillsborough roared and the Owls pushed on, looking for the lead. But within moments of drawing level they were back behind.
After committing men forward for a corner, Wednesday failed to retreat following the initial clearance. And when Jack Hunt's cross was punted out, Middlesbrough broke, feeding Fabbrini who charged forward and showed excellent composure to slot under Price.
The goal immediately deflated the crowd and Wednesday lost the zip they had shown in the early stages of the half.
Tom Lees headed narrowly wide from a corner in their best chance of levelling in the later stages.
And after committing men forward, they were hit again with another break, four minutes from time.
David Nugent flicked a pass on to the marauding Stuani who slammed into the far corner from the right of the penalty area to secure his side the points.
They could have had a fourth through an Adam Forshaw header but Price eventually hooked the ball away after it hit the foot of the post.
Sheffield Wednesday: Price, Hunt, Lees, Sasso, Wiggins, Hutchinson (Semedo 21), Lopez (Sougou 76), Wallace (Nuhiu 46), Lee, Matias, Joao. Subs not used: Wildsmith, Palmer, Turner, McGugan.
Middlesbrough: Konstantopoulos, Nsue, Ayala, Gibson, Friend, Clayton, Leadbitter, Downing (Stuani 68), Fabbrini (Forshaw 84), Reach, Kike (Nugent 59). Subs not used: Majias, Stephens, Kalas, Woodgate.
Referee: Mark Heywood (West Yorkshire)