Set-piece headers from Ryan Edwards and Niall Canavan condemned the Saddlers to defeat at resurgent Plymouth.
Andy Cook pulled one back with a superb individual effort, but the hosts stood firm for a fourth consecutive win.
Argyle dominated possession in the early stages, although it was the visitors who threatened first as Josh Gordon met Luke Leahy’s free-kick with a downward header which Kyle Letheren tipped away.
The Pilgrims’ first opportunity also came from a set-piece, Graham Carey delivering a free-kick to the far post but captain Yann Songo’o couldn’t keep his header down.
Ruben Lameiras had a half-chance from another Carey dead-ball on 27 minutes but the midfielder sliced his effort well wide from the edge of the box.
Those were rare moments of incident in an otherwise forgettable first half that wasn’t helped by the swirling wind or driving rain.
Set-pieces looked the most likely route to a goal – and so it proved as Plymouth opened the scoring nine minutes into the second half.
After a foul by Josh Gordon, Carey whipped an enticing free-kick to the back post where Ryan Edwards was on hand to head past Liam Roberts.
The goal sprang the Saddlers into life, with Cameron Norman desperately unlucky to hit the post with a downward header from Matt Jarvis’ deep corner.
But on 65 minutes it was 2-0, with another goal from a set-piece.
This time, Niall Canavan met another inviting Carey delivery ahead of Roberts to glance a header into the middle of the net.
With Walsall chasing the game, Dean Keates brought on George Dobson and Zeli Ismail for Joe Edwards and Nicky Devlin, swiftly followed by Liam Kinsella for Jarvis.
The Saddlers should have pulled one back with 15 minutes remaining but an unmarked Cook nodded Cameron Norman’s tempting cross wide of Letheren’s left-hand upright.
But the big striker made no mistake eight minutes later, slaloming his way into the box before drilling a low shot under the keeper from an acute angle.
The visitors pressed for a leveller in the closing stages, but Argyle held on to take the three points.
Plymouth team (4-2-3-1): Letheren; Smith-Brown, Edwards, Canavan, Sawyer; Songo’o, Fox; Lameiras, Sarcevic (Taylor 73’), Carey; Ladapo.
Subs not used: Macey, Riley, Ainsworth, Wootton, Threlkeld, Jephcott.
Saddlers team (4-4-2): L Roberts; Norman, Johnson, Guthrie, Leahy; Devlin (Ismail 70’), Osbourne, Edwards (Dobson 70’), Jarvis (Kinsella 75’); Cook, Gordon.
Subs not used: Dunn, Morris, Laird, Scarr.
Attendance: 8,446 (106 Saddlers supporters).