Bony had put Swansea ahead after ten minutes only for Gabriel Agbonlahor to level after a competitive opening spell.
But five minutes later, Swansea reclaimed the lead thanks to a stunning strike from Shelvey, who flicked up the ball before hammering an unstoppable 45-yard shot past Brad Guzan from almost back at the centre circle.
Pablo Hernandez made the game safe with a measured finish late on, while Bony added his second from the spot deep in injury time.
The result almost certainly secures another season of Premier League football for Swansea but piles the pressure on Villa, who are now only four points above the drop zone.
10’ – BONY OPENS SCORING: Good build-up play from Swansea results in Shelvey releasing Bony through the middle and he makes no mistake for his fifth goal in his last seven appearances, and 14th of the season.
22’ – VILLA EQUALISE: It’s a great cross from Albrighton and Agbonlahor slots home his first in 12 games.
26’ – SHELVEY WONDER STRIKE: A goal of the season contender has Swansea in front again, Shelvey lashing home a swerving shot from near the centre circle. Wonderful stuff.
61’ – DE GUZMAN CHANCE: The midfielder should bury it from Routledge’s pass but guides it wide of the post.
73’ – HERNANDEZ SCORES: He has time to trap the ball and measure his shot into the corner from Shelvey’s cross.
90+4’ – BONY AT THE DOUBLE: The striker makes sure late on from the spot after Nathan Baker fouls Marvin Emnes.
Aston Villa have lost their last three away from home, for the first time since Sept-Oct 2012. Aston Villa have not lost four away matches in a row since a run of five, Dec 2006-Feb 2007.
Gabriel Agbonlahor scored his first goal in 12 games and he has scored at home and away against Swansea.
Jonjo Shelvey scored his sixth PL goal for Swansea – this is the fourth of those which has been the third goal of the game. The other two were opening goals.
Wilfred Bony has scored six goals in his last seven PL appearances and 23 in the season.
Bony has now netted 16 Barclays Premier League goals this season, eight more than any other Swansea player.
Pablo Hernandez has scored his first PL home goal since Feb 2013. Four of his five PL goals have come at home.
Swansea have only lost two of the last 33 games where they have gone ahead.
TALKING POINT: Shelvey strike a worthy goal of the season contender. The strike was surely at least the equal of Wayne Rooney's long-range effort earlier this season. It is certainly Shelvey's best ever goal and one that will be replayed over and over again.
MAN OF THE MATCH
Jonjo Shelvey (Swansea): Set up two and scored with a wonder strike of his own. No competition here.
Swansea: Vorm 6, Rangel 6, Amat 6, Williams 7, Davies 6, Britton 6, Shelvey 9, de Guzman 7, Hernandez 7, Routledge 7, Bony 8. Subs: Taylor 6, Fulton 6, Emnes 6.
Aston Villa: Guzan 5, Bacuna 5, Vlaar 6, Baker 5, Bertrand 6, Albrighton 7, Westwood 6, Delph 6, El Ahmadi 6, Agbonlahor 7, Weimann 6. Subs: Lowton 6, Holt 6, Robinson 6.
THE MATCH IN A TWEET
- Sports & Recreation
- Aston Villa
- Jonjo Shelvey
- Wilfred Bony
- Gabriel Agbonlahor
- Swansea City
- Pablo Hernandez