MK Dons dented Swindon's promotion push and strengthened their own play-off hopes with a scrappy win.
Town's Andy Williams had the ball in the net but it was disallowed after the assistant referee flagged for a foul on keeper Ian McLoughlin.
Defender Mathias Doumbe eventually broke the deadlock after the break, nodding in at the back post.
And with two minutes of normal time remaining, Ryan Lowe curled in a neat finish to make sure of the victory.
With Sheffield United losing at Crawley, a victory for Swindon would have seen them move up to third and within five points of the automatic promotion places.
But Kevin MacDonald's side remain in sixth place, two points inside the play-off zone, while MK Dons sit four points behind in ninth.
Two contentious decisions became the main focus in an otherwise uneventful first half.
Town goalkeeper Wes Foderingham appeared to handle outside the area but was only shown a yellow card, while Williams was denied by the assistant, after referee Mark Haywood appeared to award the goal.
After a period of second-half pressure from the hosts, a lofted ball into the area found Doumbe, who headed past Foderingham.
Swindon pushed for an equaliser but substitute Raffaele De Vita failed to connect with Dean Parrett's ball in.
But the Dons made sure of the win late on, as Nathan Byrne was beaten by Dean Bowditch's cross and Lowe slotted home.
VIEW FROM THE DRESSING ROOM
MK Dons manager Karl Robinson told BBC Three Counties Radio:
"I thought we deserved that. Swindon are the best team to come here this year.
"But I don't think they created a chance of note. I thought we created two or three each half against a good side.
"The players were in full form, the fans were in full voice - I don't think anyone can ask any more from a football team.
"We're in the mix now and we have a big game at Leyton Orient."
Swindon Town manager Kevin MacDonald told BBC Wiltshire:
"It's disappointing to lose 2-0 as I thought we outplayed them in the first half.
"In games like these big decisions from the officials can change things.
"I'm not saying it was the reason for the defeat, but I didn't see there was anything wrong with the (disallowed) goal.
"It was a disappointing second half and from a set piece we get undone."