A stunning Shaun Williams free-kick proved the difference as Walsall slipped to a second straight defeat at MK Dons.
The centre-back curled home a shot from 25 yards out to decide a game of few chances at Stadium MK.
Sam Mantom had the best chance of the first half for the Saddlers but was denied by home keeper David Martin.
Andy Butler almost snatched a late equaliser for the visitors after Williams goal but saw his header hacked off the line.
This was an ultimately frustrating afternoon for Dean Smith’s side who suffered just their second league defeat on the road this season.
Smith opted for an unchanged line-up to the side for the third game running and the same 11 which won 3-1 at Swindon in the Saddlers last away trip.
But there was little sign of a similar scoreline in a first half which began well before rather fizzling out, as both sides struggled in the final third.
Dan Powell had the first chance of the game for the hosts but could only find the side-netting after breaking into the right-hand side of the box, before Mantom fired way off target for the Saddlers.
Bamford missed a great chance when he failed to connect with a Powell cross ten yards out, while Westcarr sent a free header wide at the other end from an Ashley Hemmings cross.
Mantom couldn’t get a decent connection on a Hemmings cross after the winger had broken into the box and James Baxendale then continued the trend of wayward shooting when he fired over from distance.
But Martin had to be alert soon after to deny Mantom after he had been sent clear thanks to a delightful flick from Baxendale.
The Saddlers seemed to be getting the upper hand but were given a let-off when O’Donnell came for a Powell cross but was beaten to the ball by Bamford, who could only direct his header wide of the empty net.
Milton Keynes began the second half brightly and Taylor had to be alert to hold off Bamford as the striker tried to wriggle into the box. Baxendale had the first effort of the period with a shot from distance which sailed well wide.
Williams hit a free-kick wide of the post after Mantom had been felled by Adam Chambers, while home keeper David Martin narrowly avoided an embarrassing gaffe after a poor touch almost presented Hemmings with an open goal.
But the hosts took the lead on 64 minutes when Chambers brought down Bamford and Williams beat O’Donnell from 25 yards out with a shot which went in off the post.
Mantom came within inches of an equaliser when he struck a loose ball just wide from the edge of the box after a strong run by Baxendale.
The latter then sent a first-time shot wide of the target from substitute Romaine Sawyers’ pass.
Westcarr also drove a shot over from distance as the Saddlers pushed for a leveller, while Downing did well to block a Bamford effort.
In the final five minutes, Westcarr missed a great chance when he couldn’t direct a Taylor cross on target while Milan Lalkovic saw a ferocious shot deflected wide. From the corner, Andy Butler’s header was somehow kept out by Spence on the line.
The Saddlers skipper then did have the ball in the net only to see it ruled out for a foul.
Downing headed wide in stoppage time as the Saddlers afternoon ended in frustration.
Walsall manager Dean Smith said: "We started well, Sam Mantom had a good chance but it was a good save by the keeper."
"After the first 20 minutes we gave the ball away too cheaply and we were loose on the ball. They had the lions share of possession up until their goal.
"It was a good free-kick, you can't ask our keeper to stop them. It clipped the inside of the post and was a good goal.
"We had a perfect goal ruled out - the officials saw something that nobody else did. Andy Butler got his head to the long through ball but was deemed to have pushed over a player.
"We brought (Romaine) Sawyers on to give us someone who could hold up play and he did that - unfortunetly we just lost out to some key decisions."