Jon Stead's fifth-minute goal was enough to help Bristol City end Swansea's unbeaten home record and climb out of the relegation zone.
The striker was on hand to tuck home after Jamal Campbell-Ryce's shot was blocked by Swans keeper Dorus De Vries.
Swansea pushed for an equaliser to continue their seven-match unbeaten run against an organised Robins defence.
Danny Haynes went close to putting the Robins 2-0 up, only to be denied by Swansea captain Garry Monk's block.
Bristol City made a bright start and Stead was not too far away from connecting with Albert Adomah's cross in the opening minute.
Swans will learn from loss - Rodgers
The Swans failed to heed that warning and another tricky Adomah run in the fifth minute teed up Campbell-Ryce.
His shot was somehow kept out by De Vries, but it fell to Stead for the striker to slot home the first league goal Swansea had conceded in more than nine hours.
David James made a comfortable save from Andrea Orlandi's free-kick as Swansea dominated possession in their search for a rapid response and Pratley was off target with an ambitious effort from distance.
But the Welsh side were creating little and it took an excellent intervention from skipper Monk to prevent Haynes putting the Robins 2-0 up after more excellent work by the energetic Adomah.
With Adomah's trickery constantly troubling Swansea a mistake from Alan Tate saw the winger hit the crossbar from an acute angle after Stead had played in his team-mate.
The Swans finally created a clear-cut chance in the 40th minute as Nathan Dyer slipped in Scott Sinclair on the edge of the area, the striker lifted his effort over the advancing James but wide of the post.
Swansea boss Brendan Rodgers withdrew Orlandi and Pratley at the break and replaced them with Joe Allen and Mark Gower.
Allen was quickly into action and his neat run into the box saw James do well to cut off his pass to Marvin Emnes.
Steven Caulker headed straight at De Vries at the other end but Swansea should have levelled in the 66th minute.
James failed to deal with a ball into the box and Emnes saw his effort cleared off the line before Tate was also denied by a goal-line clearance.
The visitors broke quickly and Adomah cut inside the box with ease before firing in a shot that De Vries did well to palm away.
Gower got free down the right for the hosts moments later, but Emnes could not control his effort as he slid in at the far post.
Sinclair came close to adding to his 11 goals for the season as he fired just wide from the angle of the area with five minutes left.
Seconds later the striker found room and squared the ball across the box and Tate appeared to be hauled down as he attempted to reach the ball, but the protests were waved away.
And the final chance was wasted as Sinclair inadvertently diverted a goal-bound Ashley Williams header over the bar.
Live text and stats
Wednesday, 10 November 2010
Npower Championship
Home Team
Score
Away Team
Time
Swansea
0-1
Bristol City
FT
(HT 0-1)
Stead 6
Swansea
01 De Vries
02 Williams
05 Tate yellow card
16 Monk
22 Rangel
08 Pratley (Allen 46)
10 Orlandi (Gower 46)
12 Dyer
21 Sinclair
26 Agustien (Dobbie 64)
30 Emnes
Substitutes
25 Ma-Kalambay,
03 Taylor,
07 Cotterill,
24 Allen,
27 Gower,
09 Beattie,
14 Dobbie
Bristol City
01 James
03 McAllister yellow card (Skuse 86)
04 Fontaine
06 Carey
36 Caulker
07 Elliott
08 Johnson
20 Campbell-Ryce yellow card
27 Adomah
11 Haynes (Pitman 74)
30 Stead (Cisse 68)
Substitutes
12 Gerken,
02 Hunt,
19 Ribeiro,
14 Skuse,
21 Cisse,
09 Clarkson,
34 Pitman
Ref: ScottAtt: 14,741
SWANSEA
BRISTOL CITY
Possession
Swansea57%
Bristol City43%
Attempts on target
Swansea5
Bristol City2
Attempts off target
Swansea6
Bristol City3
Corners
Swansea8
Bristol City5
Fouls
Swansea4
Bristol City13
Final Result
Full Time
90:00+3:03 The referee signals the end of the game.
90:00+1:52 Brett Pitman has a shot on goal from outside the area which misses right.
90:00+0:21 Outswinging corner taken right-footed by Mark Gower played to the near post, Louis Carey manages to make a clearance.
90:00+0:11 The ball is delivered by Mark Gower, clearance by Louis Carey.
89:28 The ball is delivered by Nathan Dyer, Liam Fontaine makes a clearance.
89:14 A cross is delivered by Scott Sinclair, clearance by Cole Skuse.
86:55 Outswinging corner taken right-footed by Mark Gower played to the near post, Shot by Scott Sinclair from deep inside the six-yard box clear the bar.
85:51 Substitution (Bristol City) makes a substitution, with Cole Skuse coming on for Jamie McAllister.
84:31 Outswinging corner taken right-footed by Mark Gower, clearance by Jamie McAllister.
84:14 Scott Sinclair takes a shot. Save by David James.
83:17 Stephen Dobbie takes a short corner.
82:26 Mark Gower takes a shot. Save by David James.
79:59 Outswinging corner taken from the right by-line by Lee Johnson, clearance by Angel Rangel.
79:01 Outswinging corner taken left-footed by Jamie McAllister from the left by-line, clearance made by Angel Rangel.
78:28 Brett Pitman gives away a free kick for an unfair challenge on Joe Allen. Free kick taken by Ashley Williams.
73:40 Substitution Brett Pitman on for Danny Haynes.
73:23 The ball is sent over by Mark Gower, Marvin Emnes takes a shot from close in clearing the crossbar.
71:03 Direct free kick taken by David James.
71:03 Booking Alan Tate is booked.
70:58 Free kick awarded for an unfair challenge on Albert Adomah by Alan Tate.
70:34 The ball is swung over by Albert Adomah, Alan Tate manages to make a clearance.
70:26 A cross is delivered by Marvin Elliott, clearance by Ashley Williams.
69:56 Lee Johnson takes the outswinging corner, clearance made by Garry Monk.
69:49 The ball is delivered by Albert Adomah, clearance made by Ashley Williams.
69:09 A cross is delivered by Stephen Dobbie, clearance by Louis Carey.
67:40 Garry Monk manages to make a clearance.
67:40 Substitution Kalifa Cisse joins the action as a substitute, replacing Jonathan Stead.
67:40 Outswinging corner taken by Lee Johnson,
67:35 Albert Adomah takes a shot. Save by Dorus De Vries.
66:47 Alan Tate takes a shot. Jamie McAllister gets a block in.
65:39 Corner from left by-line taken by Mark Gower.
65:01 Marvin Emnes takes a shot. Blocked by Liam Fontaine.
63:44 Jamie McAllister takes the free kick.
63:44 Substitution Stephen Dobbie replaces Kemy Agustien.
63:44 Unfair challenge on Danny Haynes by Garry Monk results in a free kick.
63:10 Centre by Nathan Dyer, Liam Fontaine makes a clearance.
61:29 Free kick awarded for an unfair challenge on Albert Adomah by Alan Tate. The free kick is delivered right-footed by Lee Johnson from right channel, clearance made by Garry Monk.
59:17 Jonathan Stead produces a right-footed shot from just outside the box that misses to the right of the net.
58:54 The ball is sent over by Alan Tate, David James makes a clearance.
58:48 The ball is crossed by Mark Gower.
58:16 Free kick awarded for an unfair challenge on Scott Sinclair by Steven Caulker. Direct free kick taken by Joe Allen.
56:47 Ashley Williams challenges Danny Haynes unfairly and gives away a free kick. Free kick taken by Louis Carey.
55:42 Foul by Jamie McAllister on Nathan Dyer, free kick awarded. Free kick taken by Mark Gower.
55:12 The ball is delivered by Joe Allen, David James makes a save.
54:27 Liam Fontaine concedes a free kick for a foul on Marvin Emnes. Mark Gower delivers the ball from the free kick right-footed from right wing.
53:02 Marvin Emnes is flagged offside by the assistant referee. David James takes the direct free kick.
51:55 Corner taken right-footed by Lee Johnson.
50:13 Shot by Joe Allen from a long way out goes over the crossbar.
49:08 Unfair challenge on Angel Rangel by Albert Adomah results in a free kick. Dorus De Vries takes the free kick.
48:40 Handball decision goes against Marvin Emnes. Jamie McAllister takes the free kick.
46:26 Mark Gower takes a inswinging corner from the left by-line to the near post, David James makes a save.
Correction - 45:01 Substitution Mark Gower replaces Andrea Orlandi.
Correction - 45:01 Substitution Joe Allen joins the action as a substitute, replacing Darren Pratley.
45:01 The second half has started.
45:01 Substitution Andrea Orlandi leaves the field to be replaced by Mark Gower.
45:01 Substitution (Swansea) makes a substitution, with Joe Allen coming on for Darren Pratley.
Half Time
45:00+2:31 The first half comes to an end.
45:00+1:15 Andrea Orlandi takes the inswinging corner, David James manages to make a clearance.
41:44 Direct free kick taken by Andrea Orlandi.
41:44 Booking Jamal Campbell-Ryce receives a yellow card for unsporting behaviour.
41:30 Jamal Campbell-Ryce concedes a free kick for a foul on Nathan Dyer.
39:44 Scott Sinclair has an effort at goal from close in which goes wide right of the target.
38:12 The assistant referee flags for offside against Marvin Emnes. Louis Carey takes the direct free kick.
36:51 Foul by Marvin Elliott on Darren Pratley, free kick awarded. Garry Monk takes the free kick.
35:00 Scott Sinclair takes a shot. Save made by David James.
34:05 Darren Pratley crosses the ball, clearance made by Liam Fontaine.
32:43 Jamal Campbell-Ryce sends in a cross, Alan Tate makes a clearance.
29:12 Marvin Elliott challenges Darren Pratley unfairly and gives away a free kick. The free kick is delivered left-footed by Andrea Orlandi from right wing, Marvin Elliott manages to make a clearance.
28:27 A cross is delivered by Albert Adomah.
27:54 Foul by Steven Caulker on Angel Rangel, free kick awarded. Garry Monk takes the free kick.
27:25 The referee blows for offside against Marvin Emnes. Louis Carey takes the indirect free kick.
26:15 Corner taken left-footed by Andrea Orlandi, clearance made by Marvin Elliott.
26:08 The ball is sent over by Angel Rangel, clearance by Liam Fontaine.
24:53 Albert Adomah sends in a cross, clearance by Garry Monk.
22:27 The ball is sent over by Albert Adomah, save by Dorus De Vries.
21:28 Lee Johnson delivers the ball, Angel Rangel manages to make a clearance.
19:30 Effort on goal by Darren Pratley from just outside the penalty area goes harmlessly over the target.
17:45 Marvin Elliott challenges Kemy Agustien unfairly and gives away a free kick. Kemy Agustien restarts play with the free kick.
14:44 Shot on goal by Danny Haynes from inside the box goes harmlessly over the target.
13:45 Andrea Orlandi has a direct shot on goal from the free kick, save made by David James.
13:45 Booking Jamie McAllister goes into the referee's book.
13:04 Liam Fontaine challenges Marvin Emnes unfairly and gives away a free kick.
10:13 Free kick awarded for a foul by Jamie McAllister on Darren Pratley. The free kick is delivered left-footed by Andrea Orlandi from right wing.
9:55 The ball is crossed by Darren Pratley, clearance made by Steven Caulker.
6:53 Free kick awarded for a foul by Liam Fontaine on Nathan Dyer. Nathan Dyer takes the direct free kick.
5:59 GOAL - Jonathan Stead:Swansea 0 - 1 Bristol City Jonathan Stead gets on the score sheet with a goal from inside the six-yard box low into the middle of the goal. Swansea 0-1 Bristol City.
3:05 Garry Monk crosses the ball, clearance by Liam Fontaine.
1:44 Marvin Emnes produces a cross.
0:47 A cross is delivered by Albert Adomah, Ashley Williams makes a clearance.
0:00 The game gets underway.
Live text and data provided by The Press Association.
Bookmark with:
What are these?