Jordan Ayew came off the bench to set Swansea up with a FA Cup quarter-final clash against either Tottenham or Rochdale.
The Ghana international opened the scoring in the 55th minute to put Swansea ahead and Nathan Dyer then wrapped up the win for the home side as he broke the offside trap before slotting between the goalkeeper’s legs.
The Swansea goalkeeper was less convincing when Joao sped through and cut past Kyle Bartley to shoot, but he still kept the ball out.
Carvalhal reacted by making two substitutions at the break, sending on Jordan Ayew and Martin Olsson for Ki and Wayne Routledge.
Within ten minutes the changes had worked. Tom Carroll strode forward from midfield and hit a crisp drive from 25 yards that hit one post, then the other, and rolled out invitingly to Ayew. The ball was spinning but Ayew steadied himself and placed his finish so that Glenn Loovens on the line could not block and Swansea were ahead.
Ayew has been revitalised under Carvalhal, a talismanic presence in Swansea’s attack, and this was his fifth goal since the Portuguese took charge.
Wednesday pushed for an equaliser, with Nordfeldt saving a Rhodes free-kick, but Nathan Dyer made the win certain ten minutes from time. Ayew won back possession in the visitors’ half and Abraham fed Dyer with a perfect pass. Dyer placed his finish between the legs of Dawson.
Swansea will now go on to play the winners of Wednesday night’s replay between Tottenham and Rochdale.