Starting brightly, the hosts netted the opener with just four minutes on the clock courtesy of a superb solo effort from Rhys Browne.
The Glovers took the lead into the break before the visitors took charge of proceedings after the restart and drew level with a little over 20 minutes remaining through Kellan Gordon.
With the wind in their sails, Keshi Anderson broke Town’s resolve to earn the Robins all three points in Somerset with an 89th minute winner.
Darren Way was forced into one change from the side that lost a week ago at Carlisle, with Jake Gray reclaiming a spot in the starting eleven for the suspended Bevis Mugabi.
For the third occasion this season a member of the Under-18 squad enjoyed a promotion to the first team, with young Lithuanian Paulius Golubickas claiming the number 29 jersey on the bench.
Coming into the match with just one blemish against their name at Huish Park, the Glovers got off to a flying start against the division’s best outfit on the road.
With some still taking to their seats, Browne recycled possession wide on the right to ghost past Matty Taylor and drive a venomous strike in off visiting ‘keeper Reice Charles-Cook from the angle.
In the ascendency, Tom James saw a 30-yard dipping free-kick fly a few yards over the top, as Yeovil’s quest to go five games unbeaten at home got off to a near perfect start.
Stunned by the start to proceedings in Somerset, it took 25 minutes for Swindon to register their first meaningful shot on goal.
Anderson’s well-hit strike from the edge of the box flew just wide, before Artur Krysiak produced a stunning save just a minute later.
Having ricocheted to Timi Elsnik six yards out, Town’s Polish stopper flung himself at the ball to divert the strike from close range over the bar.
The Robins continued to enjoy the majority of play up until half-time, but it was the Glovers who registered the game’s next chance.
After going close once before, James went even closer from another 30-yard free-kick as his swerving strike had to be parried away by Charles-Cook.
As the opening 45 minutes came to an end Krysiak produced his best stop of the half to somehow acrobatically claw Elsnik’s looping header out for a corner, meaning Yeovil kept their one goal lead intact at the halfway point.
Dropping points away from home just twice all season, David Flitcroft’s side came out after the restart in determined fashion.
Both Jonny Goddard and Anderson had goalbound shots blocked inside the box before Norris blazed over the bar on the turn as the hour-mark approached.
Standing strong at the back the Glovers kept hold off their slender lead, as the visitors rolled the dice with two attacking substitutions in a bid to end their frustrating afternoon in front of goal.
The alterations had the desired effect as 15 minutes after coming on Gordon drew the Robins level from close range after Krysiak had kept out Goddard’s long-range effort.
With momentum in Swindon’s favour the Wiltshire outfit remained on the front foot as the game ticked into the final 10 minutes.
Goddard slammed a first-time strike into the side netting from the right-hand side of the box as Town’s rearguard action stood firm.
In a rare second half foray into the opposition box substitute Alefe Santos almost picked out Surridge in the middle with a drilled cross, before Swindon took the lead.
With just 60 seconds of normal time remaining Anderson popped up six yards out to find the back of the net and condemn the Green and Whites to defeat at home for just the second time this season.
Yeovil Town: Krysiak; James, Sowunmi, Nelson, N. Smith; Gray, Worthington (Santos 73′), Bailey; Browne, Surridge, Khan (Green 85′).
Bookings: James 62′, N. Smith 90′
Subs not used: Maddison, Davies, C. Smith, Golubickas.
Swindon Town: Charles-Cook; Purkiss, Lancashire, Preston, Taylor; Dunne, Elsnick (Gordon 52′), Goddard; Norris (Woolery 63′), H. Smith, Anderson.
Bookings: Purkiss 64′, Taylor 88′
Subs not used: Vigouroux, Robertson, Knoyle, Iandolo, Mullin.