Andreas Weimann scored one goal and made another as Bristol City surged into the Sky Bet Championship play-off places with a 2-0 win over Swansea at Ashton Gate.
It was a seventh successive win in all competitions for Lee Johnson's team, whose unbeaten run now stretches to 13 games.
Weimann headed the hosts in front seconds after the interval, placing his effort perfectly from Jamie Paterson's cross.
And it was Weimann's clever through-ball that allowed Callum O'Dowda to make the points safe on 74 minutes with a cool low finish.
Swansea contributed plenty to an entertaining game but the hosts deserved the points which saw them overtake Derby in the table.
A first half full of open attacking football failed to produce a goal, although both sides carved out chances.
Swansea's Matt Grimes had the first effort of note when his low 25-yard drive was comfortably saved by Frank Fielding.
The home side thought they had taken a 24th minute lead when Famara Diedhiou's header from an O'Dowda corner was touched in at the far post by Weimann – but the former Aston Villa player was flagged offside.
Swansea carried plenty of threat and Fielding had to be alert to deal with Mike van der Hoorn's half-volley on 28 minutes.
Josh Brownhill shot wide for Bristol before Fielding made his best save of the half, diving to keep out Nathan Dyer's drive from a Declan John pass.
Swansea goalkeeper Erwin Mulder did even better to advance and save from Brownhill after a superb Bristol break involving Jay Dasilva, Weimann and Paterson.
An equally slick Swans move ended with George Byers shooting wide from 20 yards at the end of a half which saw both defences stretched.
The crowd of more than 23,000, including nearly 3,500 Swans fans, did not have to wait long for the deadlock to be broken after the interval, Weimann finding the back of the net with virtually the first attack.
The visitors responded with a Bersant Celina shot that passed wide of the near post, then Weimann produced a saving tackle on John with the left-back in on goal.
Swansea almost equalised on 62 minutes when Byers let fly from 25 yards and Fielding appeared to get a touch to divert the ball onto his left-hand post.
Adam Webster headed wide for Bristol from a Paterson corner, before Diedhiou glanced an effort off target from O'Dowda's chip.
O'Dowda's goal gave Johnson's men breathing space – and the winger should have scored again with seven minutes remaining when put in by substitute Niclas Eliasson – only to see his shot saved by Mulder.
Celina shot wide with Swansea's last effort and the home side's continued momentum was assured.