Shrewsbury Town came from behind to beat Crawley and lift themselves back into the League Two top three.
Shrewsbury trailed on 33 minutes when Billy Clarke's neat lob set John Akinde free and he thumped home left-footed into the bottom corner from 12 yards.
But Mark Wright's 15-yard shot levelled matters just before half-time.
And Shrewsbury won it 16 minutes from time when Jermaine Grandison's power in midfield released fellow substitute Marvin Morgan to toepoke the winner.
Grandison only came on at half-time, having arrived late after being stuck in traffic on the way to the ground.
On a night when the home side scored with two of their only three shots on target, Hope Akpan wasted Crawley's best chance of an equaliser when he head wide in the dying seconds.
But they controlled the first half for long stage, home keeper Chris Neal having to be alert to stop shots from just outside the area from Josh Simpson and Sanchez Watt.
Neal also came to his side's rescue with important saves from Akinde and Watt after the break before Morgan, who turned down the chance to sign for Crawley last season, had the final word.
Crawley's defeat at the Meadow means that they stay fifth, now four points adrift of the automatic promotion places, but with games in hand.
Graham Turner's men have now gone unbeaten at home in almost 12 months, having not lost in front of their own fans in 23 games since the 3-0 defeat by Bury on 1 March last year.
VIEWS FROM THE TRAINING GROUND
Shrewsbury Town boss Graham Turner told BBC Radio Shropshire:
"It's a great result for us given all the circumstances.
"I thought Crawley played ever so well, they caused us problems, probably took us by surprise with the pace they played at and we never got it going in the first half.
"It's three points from an exceedingly average performance from us and I don't want to start knocking the players.
"We've had the hiccup with the performance tonight, but we've had the big boost of the three points."
Shrewsbury 01 Neal Booked 03 Jacobson 05 Sharps 06 Cansdell-Sherriff (Grandison - 46' ) 15 Regan 07 Wright 14 Richards 19 McAllister 23 Taylor 09 Collins (Wroe - 81' ) 24 Gornell (Morgan - 46' ) Substitutes 25 Smith 02 Grandison 08 Wroe 16 Ainsworth 10 Morgan Crawley Town 26 Gilmartin 03 Howell 04 Mills 05 McFadzean 20 Wassmer (Hawley - 85' ) 06 Akpan 07 Clarke 11 Simpson (Batt - 77' ) 15 Bulman 10 Watt (Neilson - 66' ) 17 Akinde Substitutes 01 Kuipers 08 Torres 22 Neilson 19 Hawley 21 Batt