Paul Parry's first-half volley helped Shrewsbury beat Walsall and move out of the League One relegation zone.
The Saddlers were repeatedly frustrated by Town keeper Chris Weale, who made a number of stunning saves.
Weale twice denied Jamie Paterson and then Adam Chambers before Parry found the net from close range on 25 minutes after Asa Hall's shot had hit the bar.
Andy Butler also headed against the bar for Walsall, Weale denied George Bowerman and Parry hit the bar late on.
It was Shrewsbury's first win in 10 derby meetings against Walsall since December 1993.
A first win in six matches, in all competitions, lifts Graham Turner's men up to 15th in the table.
Walsall now stand 11th, four points off a play-off place, thanks to their third league defeat in nine days.
VIEW FROM THE DRESSING ROOM
Shrewsbury Town manager Graham Turner told BBC Radio Shropshire:
"The vital thing is the result. It doesn't matter how you get them. Managers, and press, talk about winning ugly.
"But it's important that when the TV cameras show the lower leagues that there is good entertainment - even though most of it was in our penalty area.
"We came under a lot of pressure and the keeper has just displayed what we knew he could do - it was an outstanding performance from him. He's earned us the three points.
"You sign good goalkeepers and you expect them to make saves. That's why one of our key signings was to bring in the experience and ability of Chris Weale."
Walsall manager Dean Smith told BBC WM:
"It was just one of those games which wasn't meant to be. The only thing missing was that we didn't put the ball in the back of the net.
"We controlled the game the whole of the first half and they scored from a set piece in their first attack.
"Their goalkeeper was man of the match which was just reward for him, but we've had other chances that have gone begging.
"I'm just glad I was on TV, so that people can see how well we played and that I don't sound like a broken record."
Sorry, we were unable to load match stats, please try again.