After having a couple of chances to take the lead the Glovers were punished by the lively Alex Jakubiak in the 50th minute.
Chasing the game, the green and whites searched for an equaliser but were dealt a blow five minutes from time as Alex Rodman’s shot was deflected past the helpless Nathan Baxter.
In action for the last time before the international break, defeat at the Memorial Ground means Town can now no longer qualify from the group stage.
Needing a result to stay in the competition, Darren Way made one change from the side that drew 2-2 with Exeter City, as Rhys Browne came in for Sessi D’Almeida who’s away on international duty.
Under the floodlights, the Glovers started the game the brighter having a couple of early chances.
Olufela Olomola played in Jordan Green who drove into the box and fired his shot on target, but Jack Bonham was alert to make the save. Mugabi headed just over from the resulting corner.
Later on, Browne worked hard to win back the ball in Bristol’s half, he beat his man and attempted to find Olomola in the box but the defender blocked and Browne was adjudged to foul his man when trying to win the ball back.
In an entertaining opening start to the match which Town dominated, the Gas then created their first chance of the game. Rodman beat his man and fired the ball towards the goal with Baxter on hand to parry away.
As Rovers grew into the game Jakubiak looked their biggest threat, his attack down the right side resulted in a shot off target.
Shortly after, the forward went close again, finding himself in the area he struck the ball first time, but Baxter got down well to make the save and deny the hosts the lead.
Just after the half-hour mark, former Town man Ed Upson gave away the ball in his own box, Fisher picked up the loose ball and Bonham had to be alert to race off his line and deny the number nine.
Both sides settled midway through the first half with chances proving much harder to come by than in a frantic opening 25 minutes.
Jake Gray had a shot from range easily blocked whilst Fisher had a couple of half chances off target.
Going for the win, Way made the matches first substitution at half-time, after picking up a yellow Browne was replaced by Bradford City loanee Omari Patrick.
Yeovil almost took the lead only for minutes into the second half, Fisher received the ball in behind the defence and went one-on-one with Bonham, only for thee Rovers stopper to make a fantastic save.
That miss would then prove costly as a minute later the Pirates went on the attack. Kyle Bennett’s ball into the area found Jakubiak at the front post, who then struck the ball first time into the top right corner to give the hosts the lead.
As the hour mark approached, Gray swung a corner into the box which the keeper failed to properly clear, Fisher steered the ball goalwards but saw his header blocked on the line.
Not quite out of the game yet the visitors continued to search for an equaliser, Patrick and Olomola both had shots at goal that Bonham made sure he got behind.
With chances becoming harder to come by and time running out for Town, Rodman sealed the win for Rovers with five minutes remaining, his shot deflected into the back of the net past Baxter to seal a 2-0 victory for the League One side.
Bristol Rovers: Bonham; Leadbitter, Clarke, Broadbent, Kelly; Sercombe, Upson, Bennett (Nichols 76); Rodman, Jakubiak (Moore 88), Matthews (Russe 86).
Bookings: Leadbitter 37’
Subs not used: Smith, Menayese, Ebbutt, Kilgour.
Yeovil Town: Baxter; James, Mugabi, Donnelan, Dickinson; Green (Rogers 87), Pattison, Gray, Browne (Patrick 46); Fisher (Arquin 74), Olomola.
Bookings: Browne 13’
Subs not used: Phillips, Warren, Ojo, Clarke.