Bradford managed to repel Swansea’s attacking threat until Michu scored in the 40th minute for his 19th goal since joining in July from Spanish club Rayo Vallecano de Madrid for ￡2 million. The Spaniard raced onto Pablo Hernandez’s through-ball and curled it beyond Duke.
Bradford fell further behind two minutes after the break. Dyer charged forward from the halfway line and played a one-two with Routledge, before sending it past Duke.
Duke was sent off in the 56th for bringing down De Guzman in the penalty area, prompting the only low point for Swansea.
Dyer was animated as he remonstrated with De Guzman about taking the penalty to try and complete a hat-trick.
However, De Guzman held onto the ball before sending it past substitute goalkeeper Jon McLaughlin. He was on target again in stoppage-time, bundling Angel Rangel’s cross into the net from close range.