Wolves bounced back to the top of the table as Sylvan Ebanks-Blake produced two clinical finishes to shatter Swansea's five-game unbeaten run.
Ebanks-Blake opened the scoring with a low shot seconds before half-time for Mick McCarthy's high-flyers.
The ex-Manchester United trainee, signed from Plymouth for £1.5million last January, then struck his ninth goal of the season in the 57th minute after Darren Pratley had equalised. But this defeat was tough on a slick Swansea side and Mark Gower hit the bar from distance after Ebanks-Blake's double.
Wolves started brightly and David Jones curled an effort just wide while Chris Iwelumo headed in, but had the effort disallowed for pushing.
Swansea grew in confidence though and Gower saw his right-foot shot from outside the box brilliantly tipped over by Carl Ikeme.
Shot-stopper Ikeme, keeping Wales No.1 Wayne Hennessey on the bench, was fearful of the axe after letting in seven goals in two games. But his crucial save kept Wolves level on a snow-covered Molineux pitch against the Welsh club.
Iwelumo then carved out another good chance with neat control and a turn from loanee Carlos Edwards' pass before smashing over.
Yet the visitors, managed by Spaniard Roberto Martinez, continued to fashion chances with some clever football.
Swansea full-back Angel Rangel almost made the breakthrough when he curled a shot just over following a clever backheel by Jordi Gomez.
But Wolves went into the interval ahead when danger man Ebanks-Blake scored with a skilful turn and low right-foot finish.
Martinez's side deservedly levelled in the 49th minute, Pratley hitting the target for the second successive game.
The midfielder seized on Frederico Bessone's cross and rifled in a low shot from the edge of the box into the corner.
And Pratley almost scored again moments later with a shot from similar distance which flew just over.
But Wolves got the winner when the deadly Ebanks-Blake (left) headed in after a superb Edwards cross.