Swansea City fell to defeat as Bristol City came from behind to take all three points at the Swansea.com Stadium.
Michael Duff’s side had led at the break after Liam Cullen had steered in an excellent pass from Charlie Patino during the early exchanges.
But the visitors turned the game around through second-half goals from Mark Sykes and Sam Bell.
Ben Cabango hit the post as the Swans pressed for an equaliser, while they had a strong claims for a penalty waved late on.
The Swans had shown two changes from the last league outing at Preston as Kyle Naughton and Ollie Cooper came in for Harry Darling and Jay Fulton.
Cooper was heavily involved from the off, showing plenty of energy with and without the ball as the hosts started on the front foot.
One good cross from the Wales international, after fine hold-up work by Harrison Ashby, ended with Josh Key being unable to get proper contact on his header.
Cooper’s pressing then saw him win the ball from Cameron Pring and it fell to Cullen, but the striker’s shot was blocked.
However, seconds later Charlie Patino slid a wonderful through ball into the striker’s path, and he advanced to calmly guide the ball beyond Max O’Leary and into the net.
At the other end Jason Knight fired over from the edge of the area for the Robins, while Nathan Wood and Naughton combined to block a Nahki Wells effort.
Wood then made a tremendous block as Sykes got onto a loose Jerry Yates pass to drive towards the Swansea area.
Swansea then nearly doubled their lead with Yates just unable to turn the ball in following a scramble from a Matt Grimes corner.
Bristol City swept straight up the other end and Carl Rushworth saved from Wells after Bell had made ground on the left.
Captain Grimes took the plaudits from his teammates when he cleared Knight's shot off the line a few seconds later, with Naughton throwing his body in the way of the follow-up.
Grimes was involved again when Cullen pressed well and Swansea got the ball back in Bristol territory.
The skipper sent the ball across the box but Patino could not convert from a loose visiting clearance.
Bell turned the ball into the net from close range, but the offside flag quickly quelled any visiting celebrations.
Naughton then went in the book for bringing Wells down after Wood had sold him short with a poor pass.
But the Swans retained their lead at the break and Cullen worked Robins keeper O’Leary just seconds into the second period with a strike from the edge of the area.
Duff had introduced Josh Ginnelly from the bench at the interval, in place of Ashby, as the Swans changed formation and went to four at the back.
But it was the visitors who struck next as Patino gave the ball away and one pass was enough to send Sykes into space. He cut inside the covering defence and sent the ball into the far corner of the net.
Swansea nearly restored their lead within seconds, O’Leary parrying a Cullen effort after good work by Patino and Key down the left flank.
It was end-to-end stuff and Bristol City had penalty appeals waved away when Sykes went down in the area after a cross had fallen to him.
But Sykes would play his part in giving the visitors the lead as his superb cross found Bell unmarked at the far post to steer the ball back across goal and into the far corner.
Joe Allen, Jamie Paterson, Mykola Kuharevich and Darling were quickly introduced and the latter’s first touch nearly produced a Swansea equaliser.
Darling’s knockdown fell for Ben Cabango but his header agonisingly cannoned back off the post with O’Leary beaten.
Grimes nearly sent Ginnelly clear down the left but the pass was overhit and O’Leary was able to sweep up the danger before Paterson dragged wide.
Swansea then had handball appeals waved away as another Darling knockdown caused problems in the visiting area, but the afternoon would end in defeat.
Swansea City: Carl Rushworth; Nathan Wood, Kyle Naughton (Harry Darling 65), Ben Cabango; Harrison Ashby (Josh Ginnelly 46), Ollie Cooper, Matt Grimes (captain), Charlie Patino (Joe Allen 60), Josh Key; Liam Cullen (Jamie Paterson 59), Jerry Yates (Mykola Kuharevich 65).
Unused Substitutes: Andy Fisher, Jay Fulton, Nathan Tjoe-A-On, Filip Lissah.
Bristol City: Max O'Leary, Cameron Pring, Kal Naismith, Matty James (captain), Joe Williams, Jason Knight, Mark Sykes (Rob Dickie 84), Sam Bell, Nahki Wells (Harry Cornick 78), Taylor Gardner-Hickman (George Tanner 69), Zak Vyner.
Unused Substitutes: Stefan Bajic, Andy King, Anis Mehmeti, Haydon Roberts, Ephraim Yeboah.
Referee: Oliver Langford