Riyad Mahrez scored all three goals in a standout display from the Algerian.
Claudio Ranieri made one change to the side which drew 1-1 with Manchester United, Leonardo Ulloa coming in for Shinji Okazaki.
Leicester dominated from the start and took a deserved lead through Mahrez. A slightly fortuitous goal for the visitors saw a corner delivered by Marc Albrighton roll off Mahrez’s hip.
The Foxes piled on the pressure as the first half progressed. N’Golo Kante’s long ball found Mahrez who calmly finished past Łukasz Fabiański.
Swansea started the second off as the better of the two sides, Ki Sung-Yueng hitting the post.
Mahrez wrapped up all three points for the Foxes, Kante’s bursting run finding Vardy who laid it on a plate for the Algerian International.
Claudio Ranieri’s side sit top of the pile after 15 games, two points clear of Arsenal.
Full Time: Swansea 0-3 Leicester City
Scorers: Mahrez (5, 22, 65)
Swansea: Fabianski, Naughton, Bartley, Williams (C), Taylor, Britton, Ki, Sigurdsson, Ayew, Routledge, Gomis.
Leicester: Schmeichel, Simpson, Huth, Morgan (c), Fuchs, Mahrez, Kanté, Drinkwater, Albrighton, Ulloa, Vardy
Match Rating: 6/10