Swansea ripped Bristol City to pieces during a fine second-half display sparked by Kevin McLeod's hat-trick.
Kevin McLeod led the way for Swansea with a hat-trick
McLeod curled in his first just before half-time and Adebayo Akinfenwa's cross-shot made it 2-0 after the break.
Lee Trundle notched from the spot after Jamie Smith fouled Roberto Martinez and McLeod and Trundle struck again.
Leon Britton burst through for a sixth, David Cotterill pulled one back before McLeod's third but the Swans had Kevin Austin dismissed for two yellow cards.
Swansea: Gueret, Ricketts (Anderson 73), Austin, Iriekpen, Tate, Martinez, Britton (Robinson 77), McLeod, Bean, Akinfenwa (Connor 76), Trundle. Subs Not Used: Murphy, Goodfellow.
Sent Off: Austin (90).
Booked: Bean, Britton, Austin.
Goals: McLeod 45, Akinfenwa 50, Trundle 58 pen, McLeod 69, Trundle 71, Britton 75, McLeod 87.
Bristol City: Phillips, Jamie Smith, Carey (Murray 54), Fortune, Keogh, Orr (Wilkshire 65), Golbourne, Gillespie (Stewart 54), Brown, Bridges, Cotterill. Subs Not Used: Grant Smith, Skuse.
Booked: Keogh, Carey, Fortune, Jamie Smith, Brown.
Goals: Cotterill 81.
Ref: T Bates (Staffordshire).