Garry Monk's header in injury time spared Swansea's blushes after Crawley had threatened a shock in the Capital One Cup third round.
Miguel Michu's opener, curling home Wayne Routledge's cross, suggested an easy night for Premier League Swansea.
But their League One hosts hit back with Josh Simpson's deflected shot and led when Hope Akpan scored on the turn.
Swans levelled when Danny Graham nodded in Dwight Tiendalli's cross before Monk rose at a corner to end Crawley's hope.
It was a welcome return to action for club captain Monk, who was making his first appearance of the season following a troubling back injury.
The central defender's late winner ensured Swansea did not suffer last season's fate, when they were knocked out of the competition by League Two side Shrewsbury.
A defensive error by Crawley right-back Nathan Byrne, newly arrived on loan from Tottenham, nearly gifted Swansea an easy opener, but Luke Moore's shot whistled past the right post.
Swansea's League Cup record
Second round (lost 3-1 to Shrewsbury)
Last 16 (lost 2-0 to Wigan)
Second Round (lost 2-1 to Scunthorpe aet)
Last 16 (lost 1-0 to Watford)
Second round (lost 1-0 to Reading aet)
An almost identical error of judgement saw Byrne cause panic among the home defence for a second time, but this time Moore was hustled off the ball.
Michu nodded a free-kick straight at keeper Paul Jones before Routledge stabbed a glorious chance into the side netting.
But Routledge made amends in the 27th minute by unlocking the Crawley defence with a mazy run that set up the opener for Michu.
Stationed on the edge of the area, Michu steered the ball over the head of Jones with a superb finish to grab his fifth goal since his summer arrival from Rayo Vallecano.
The Spanish attacking midfielder was then booked for fouling Dannie Bulman and later sent a header over the crossbar, but only after Moore had squandered another great opportunity.
The closing moments of the first half saw Swansea come under pressure.
A spectacular overhead kick from Billy Clarke just failed before Crawley made their breakthrough. Simpson gathered a failed clearance from 20 yards out and drilled home, his shot taking a heavy deflection in a crowd of players.
Crawley came out for the second half with their tails up and Jonathan Forte surged through midfield before testing keeper Gerhard Tremmel, with Nicky Adams just failing to capitalise on the follow up.
Forte was also involved as Swansea's worst fears were realised, Akpan taking his incisive pass, turning and slotting home from close range.
Having run half the pitch, Forte should have put Crawley 3-1 up but his shot was easily saved by Tremmel.
The home side were left to rue the missed chance in the 74th minute as Swansea equalised when substitute Graham nodded in Tiendalli's pin-point cross.
And the decisive blow was struck as the match entered injury time as Monk jumped highest to head home Routledge's corner.
Swansea manager Michael Laudrup:
"It's good to get that win. When you lose more than one game it's really important to get back on track and get that feeling of a win.
"To win tonight and do it the way we did, coming back after going 2-1 down, it was good to see that reaction.
"I was worrying that we'd have to go into extra time, which wouldn't have been so good."
Crawley manager Richie Barker:
"I thought at 2-1 the next goal was important. We wanted the daylight and you need that against a Premier League club.
"We have lost out to the odd goal to Manchester United, Stoke and now Swansea. We are getting closer as we are scoring against them.
"The pleasing thing is the performance again."
- 01 Jones
- 03 Sadler
- 12 Walsh
- 19 Byrne Booked
- 28 Davis
- 06 Akpan
- 07 Clarke (Ajose - 85' )
- 11 Simpson
- 15 Bulman
- 16 Adams
- 10 Forte (Alexander - 85' )
- 25 Kuipers
- 04 Connolly
- 13 Hunt
- 02 Davies
- 08 Torres
- 09 Alexander
- 14 Ajose
- 25 Tremmel
- 16 Monk
- 21 Tiendalli
- 33 Davies
- 07 Britton
- 09 Michu Booked (Donnelly - 58' )
- 15 Routledge
- 24 Ki Sung-Yeung
- 27 Gower
- 29 Richards (Graham - 67' )
- 19 Moore
- 13 Cornell
- 05 Tate
- 23 Situ
- 35 Alfei
- 31 Lucas
- 10 Graham
- 41 Donnelly
Ref: Robert Madley