Giovanni Hernandez scored the equaliser after Nathan Dyer had given Swansea the lead early in the second half in a match that saw both teams finish with 10 men.
Swansea had the best of the first half as Jonjo Shelvey crashed a free-kick against the crossbar, before Wayne Routledge's had an effort ruled offside.
Substitute Dyer (57) opened the scoring when he slotted home after Neil Taylor and Marvin Emnes combined to set up the chance.
Taylor was dismissed along with Jesus Sanchez of Chivas with 10 minutes remaining after they squared up to each other following a challenge.
Hernandez then placed his penalty past Gerhard Tremmel after Jazz Richards had committed a foul in the box.