The Swans turned on the style at Villa Park to book their place in the fourth round of the Emirates FA Cup.
Quick-fire goals at the start of each half from Courtney Baker-Richardson and Nathan Dyer set the Swans on their way to victory, before substitute Jay Fulton wrapped things up late on.
Swansea were excellent from start to finish, with skipper Leroy Fer leading the way with an outstanding performance in the heart of midfield.
Swans boss Graham Potter had made just one change from the New Year's Day victory over Reading with Baker-Richardson starting up front in place of Oli McBurnie, who had been struck down with illness.
Otherwise it was the same side that claimed all three points at the Madejski Stadium with an impressive 4-1 win.
Former Swans defender Neil Taylor started for the hosts, while new signing Lovre Kalinic made his debut in goal as two of six changes.
The game got off to a blistering start as the Swans took a second minute lead - as they had at Reading.
Villa failed to clear a corner and when the ball eventually found its way out wide to Mike van der Hoorn, the central defender drilled in a low cross which Baker-Richardson managed to beat Kalinic to and squeeze home.
It was an all-action start to the game as Villa looked to have grabbed an equaliser in the sixth minute when Scott Hogan got in behind to meet an Albert Adomah cross.
The ball looked to be going in off Erwin Mulder, but the Swans ‘keeper recovered to somehow scramble it off the line.
The game continued to swing from one end to the other as Fer fired just over from the edge of the area, before Bersant Celina saw his shot deflected wide with 23 lively minutes gone.
Baker-Richardson saw his goal-bound shot deflected just over by Alan Hutton in the 38th minute, while Wayne Routledge fired wide soon after, although the pace of the tie had dropped by this stage with a confident Swansea enjoying the better of the possession and chances.
Half-time: Aston Villa 0 Swans 1
The Swans started the second half exactly how they had started the first by hitting the back of the net within two minutes.
After a patient build up, Fer slipped a superb pass through to Dyer who slotted home his first of the season to make it 2-0.
The visitors continued to pass the ball around in a controlled, confident and skilled manner as the home crowd’s frustrations grew.
Albert Adomah did fire over for Villa as they looked to mount a comeback, while substitute Henri Lansbury curled an effort the wrong side of the post in the 64th minute. Two minutes later Adomah did have the ball in the back of the Swansea net, but it was correctly ruled out for offside.
Villa were enjoying a good spell before substitute Daniel James eased a bit of pressure at the other end with 15 minutes remaining; forcing a good save from Kalinic.
But it was game over in the 78th minute as a superb run and interplay from Fer saw him set up substitute Fulton to find the bottom corner.
Swansea City: Erwin Mulder; Kyle Naughton, Mike van der Hoorn (Cian Harris 87), Joe Rodon, Connor Roberts; Leroy Fer (c), Matt Grimes; Nathan Dyer (Daniel James 71), Bersant Celina, Wayne Routledge; Courtney Baker-Richardson (Jay Fulton 71)
Subs (not used): Kristoffer Nordfeldt, Luciano Narsingh, Barrie McKay, George Byers.
Aston Villa: Lovre Kalinic, Neil Taylor, Glenn Whelan (Henri Lansbury 60), John McGinn, Scott Hogan (Keinan Davis 72), James Bree, Alan Hutton (c), Anwar El Ghazi, Tommy Elphick, Albert Adomah, Callum O'Hare (Jonathan Kodjia 55)
Subs (not used): Jed Steer, Birkir Bjarnason, Ahmed Elmohamady, Dominic Revan.
Ref: Gavin Ward