Swansea had the better of the first half and they took the lead in the 35th minute when an unmarked Leroy Fer prodded home Tom Carroll's corner.
Everton pulled a goal back in first-half stoppage time, Dominic Calvert-Lewin reacting first to score from the rebound after a Wayne Rooney penalty was saved by Lukasz Fabianski.
Sigurdsson put Everton in front against his former club with an unstoppable strike from the edge of the area on 64 minutes before Rooney made sure of the points nine minutes later when he converted his second penalty of the night.
Everton, now unbeaten in five matches, move up to ninth place while Swansea remain bottom of the table, four points from safety.
Everton: 23 Dec v Chelsea (H)
Swansea: 23 Dec v Crystal Palace (H)