Brentford scored two first-half goals to seal the win which saw them replace Swansea at the top of the table.
Kevin O'Connor's goal made him Brentford's top scorer this season
Willy Gueret had already made a superb save from Lloyd Owusu before Alan Tate was sent off for his second booking.
Kevin O'Connor drove in the resultant free-kick to put the Bees ahead before Eddie Hutchinson headed in Paul Brooker's cross for the second.
Andy Robinson pulled one back in an injury-time scramble at a corner but Brentford held on to record the win.
Brentford: Nelson, O'Connor, Tillen, Sodje, Turner, Brooker (Mousinho 83), Hutchinson, Campbell (Rankin 66), Lewis, Owusu, Gayle.
Subs Not Used: Bankole, Peters, Charles.
Booked: Brooker, Sodje.
Goals: O'Connor 26, Hutchinson 35.
Swansea: Gueret, Ricketts, Tate, Monk, Iriekpen, Britton, Forbes (Goodfellow 70), Robinson, Tudur-Jones, Akinfenwa, Trundle.
Subs Not Used: Murphy, Thorpe, Connor, MacDonald.
Sent Off: Tate (24).
Booked: Tate, Robinson.
Goals: Robinson 90.
Ref: T Parkes (W Midlands).