Febian Brandy and Will Grigg gave Walsall their fourth win in five games and condemned Portsmouth to a 2-0 defeat at the Banks's Stadium.
Pompey have now gone 14 games without a win, but they showed plenty of spirit and received great support from their 486 travelling fans.
Portsmouth were the better side in the opening 20 minutes and should have gone in front when a great ball into the box from Adam Webster found Paul Benson unmarked, but he volleyed over the bar with only the goalkeeper to beat.
That proved expensive when Walsall scored in the 29th minute, Jamie Paterson's cross being headed across goal by Grigg leaving Brandy to notch his fourth goal of the season from close range.
Worse was to come for Pompey when, five minutes from the interval, Adam Chambers released Brandy and when the ball rebounded from Pompey keeper Simon Eastwood, Grigg was able to poke home his eighth goal of the campaign.
Pompey fought hard late on and Karl Darlow made fine saves from David Connolly and Scott Allan, but the Saddlers claimed the points.