Crawley came from behind to condemn Portsmouth to a 10th match without a victory in League One.
Portsmouth took an early lead when Paul Benson converted Scott Allan's cross.
But, moments after Hope Apkan failed to beat Pompey goalkeeper Simon Eastwood when well placed, Mat Sadler's free-kick from wide evaded everyone to find the far corner and draw Crawley level.
Billy Clarke completed the turnaround when he tapped home Nicky Adams' accurate cross.
Pompey came close to equalising in stoppage time, but Paul Jones produced a smart stop to keep out Darel Russell's header.
Portsmouth, who left out 11-goal top scorer Izale McLeod, remain in the League One relegation zone, while Crawley move up to eighth.
VIEW FROM THE DRESSING ROOM
Portsmouth caretaker manager Guy Whittingham told BBC Radio Solent:
"We didn't get a point, but we had enough pressure in the second half without creating that killer ball that could get somebody on the end of things.
"I thought Paul Benson did very well, against two centre halves when you're working there as a lone striker, I know I've done it myself, it's not easy. It's a thankless job and he did well for us.
"It's your top goalscorer, but today we felt the way to go was to have those two wide men with Paul Benson up top for what he can do bringing players into the game."
Crawley Town manager Richie Barker told BBC Sussex:
"This result was deserved. Portsmouth have a lot of good players despite all their problems.
"I thought our football in difficult conditions was excellent. Our midfielders ran the game.
"Their goal came in one of our best passages of play. We were a victim of our own success."