Yeovil guaranteed themselves a play-off place with victory over Stevenage.
In a poor first half, Glovers midfielder Kevin Dawson had a tap-in ruled offside while Boro's Dani Lopez saw his header saved by Marek Stech.
Sam Foley curled the ball into the top corner to break the deadlock before James Hayter thumped in his 15th league goal of the season.
Yeovil saw out stoppage time with 10 men after defender Dan Burn received his second yellow card.
Gary Johnson's Glovers are fourth in the League One standings, five points off the automatic places, while Stevenage are 17th.
VIEWS FROM THE DRESSING ROOM
Stevenage manager Graham Westley told BBC Three Counties Radio:
"I think there was a vast difference in the application of the two teams to win the game. Although it's only moments here there that make the difference, if you add it up over the 90 minutes there were too many moments we didn't show enough discipline.
"They showed that little bit more desire, care and urgency and over the 90 minutes. I think they got the result they deserved.
"We tested ourselves against bottom four sides and we showed enough care, enough desire, enough work ethic. Fortunately that kept us safe. Today we tested ourselves against one of the better sides and came up well short in my opinion."
Yeovil Town manager Gary Johnson told BBC Somerset:
"It's a magnificent feat for our club, our board of directors and our players, to make sure we are in that position.
"That means we have to put off our early holidays if we're still in the play-offs. We've still got to keep going, the teams above us can still slip up.
"But it's nice to have consolidated, that's what I wanted as early as we could. That's credit to the boys.
"It means we're going to have a fantastic end to the season whatever happens."
Full Time The referee signals the end of the game.
Free kick awarded for an unfair challenge on Luke Freeman by Sam Foley. Steve Arnold takes the free kick.
90:00 +0:48 Booking
Booking Kevin Dawson is cautioned by the ref for unsporting behaviour.
Free kick awarded for a foul by Kevin Dawson on Sam Hoskins. Direct free kick taken by Steve Arnold.
90:00 +0:10 Dismissal
Dismissal Dan Burn is shown a red card for second bookable offence.
Substitution (Yeovil) makes a substitution, with Richard Hinds coming on for James Hayter.
Luke Freeman sends in a cross, clearance by Byron Webster.
Free kick awarded for a foul by James Hayter on Luke Freeman. Luke Freeman takes the direct free kick.
Luke Freeman is caught offside. Free kick taken by Joe Edwards.
Lucas Akins concedes a free kick for a foul on Luke Ayling. Free kick taken by Luke Ayling.
Lee Hills produces a cross, Dan Burn manages to make a clearance.
Assist on the goal came from Sam Foley.
80:11 Goal scored
Goal! - James Hayter - Stevenage 0 - 2 Yeovil James Hayter gets on the score sheet with a goal from close in to the top left corner of the goal. Stevenage 0-2 Yeovil.
Sam Foley takes the inswinging corner, clearance by Bondz N'Gala.
Sam Hoskins concedes a free kick for a foul on Luke Ayling. Marek Stech takes the free kick.
James Dunne produces a right-footed shot from just outside the area that goes harmlessly over the target.
Substitution Lee Hills on for Anthony Grant.
Booking James Hayter receives a yellow card for unsporting behaviour.
Bondz N'Gala fouled by James Hayter, the ref awards a free kick. Steve Arnold takes the direct free kick.
Sam Foley fouled by David Gray, the ref awards a free kick. Sam Foley delivers the ball from the free kick right-footed from left wing, save by Steve Arnold.
Substitution Sam Hoskins replaces Filipe Morais.
Shot from long range by James Hayter misses to the right of the target.
Unfair challenge on Dan Burn by Lucas Akins results in a free kick. Marek Stech restarts play with the free kick.
Sam Foley decides to take the corner short.
Marcus Haber crosses the ball, Byron Webster makes a clearance.
Paddy Madden takes a shot. Save made by Steve Arnold.
Corner from right by-line taken by Luke Freeman.
Max Ehmer restarts play with the free kick.
Substitution (Stevenage) makes a substitution, with Marcus Haber coming on for Daniel Lopez.
Dominic Blizzard concedes a free kick for a foul on Anthony Grant.
Outswinging corner taken by Sam Foley from the right by-line.
The ball is delivered by Joe Edwards, blocked by Max Ehmer. Inswinging corner taken right-footed by Sam Foley from the left by-line.
Paddy Madden is caught offside. Direct free kick taken by Steve Arnold.
Handball decision goes against Sam Foley. Bondz N'Gala restarts play with the free kick.
Assist by James Hayter.
52:58 Goal scored
Goal! - Sam Foley - Stevenage 0 - 1 Yeovil Sam Foley finds the back of the net with a goal from just inside the area to the top right corner of the goal. Stevenage 0-1 Yeovil.
The assistant referee flags for offside against Kevin Dawson. Direct free kick taken by Steve Arnold.
A cross is delivered by Luke Freeman, clearance by Byron Webster.
The second half kicks off.
45:00 +4:07 Half time
Half Time The ref blows to end the first period.
The official flags Filipe Morais offside. Free kick taken by Marek Stech.
Dominic Blizzard gives away a free kick for an unfair challenge on Anthony Grant. Direct free kick taken by Steve Arnold.
Outswinging corner taken right-footed by Edward Upson played to the near post, clearance by David Gray.
James Hayter is ruled offside. Steve Arnold takes the free kick.
Booking The referee shows Bondz N'Gala a yellow card.
Booking The referee books Dan Burn for unsporting behaviour.
Bondz N'Gala gives away a free kick for an unfair challenge on Edward Upson. Paddy Madden takes the direct free kick.
Free kick awarded for an unfair challenge on Joe Edwards by Daniel Lopez. Free kick taken by Luke Ayling.
Daniel Lopez takes a shot. Save made by Marek Stech. Corner taken by Luke Freeman from the right by-line, clearance made by Byron Webster.
Edward Upson produces a right-footed shot from inside the area that goes over the bar.
Dominic Blizzard challenges Filipe Morais unfairly and gives away a free kick. Max Ehmer takes the direct free kick.
The ball is crossed by Luke Freeman, Daniel Lopez takes a shot. Save made by Marek Stech.
The ball is delivered by Luke Freeman, clearance by Dan Burn.
Edward Upson concedes a free kick for a foul on Anthony Grant. The free kick is swung in left-footed by Luke Freeman, clearance by Luke Ayling. Corner taken left-footed by Luke Freeman to the near post, clearance by Dan Burn.
Daniel Lopez fouled by Byron Webster, the ref awards a free kick. Filipe Morais produces a cross, Daniel Lopez takes a shot.
Effort from inside the area by Paddy Madden misses to the right of the goal.
James Hayter is caught offside. Steve Arnold takes the direct free kick.
James Dunne takes a shot. Save by Marek Stech.
The referee blows for offside against Daniel Lopez. Direct free kick taken by Luke Ayling.
Dan Burn fouled by Filipe Morais, the ref awards a free kick. Direct free kick taken by Luke Ayling.
Free kick awarded for an unfair challenge on Kevin Dawson by Max Ehmer. Direct free kick taken by Luke Ayling.
David Gray challenges Dominic Blizzard unfairly and gives away a free kick. Free kick taken by Luke Ayling.
Edward Upson takes a inswinging corner from the left by-line to the near post.
Paddy Madden takes a shot. Blocked by Mark Roberts.
Bondz N'Gala challenges Paddy Madden unfairly and gives away a free kick. Sam Foley takes the direct free kick.
James Hayter is ruled offside. Steve Arnold restarts play with the free kick.
Luke Ayling has an effort at goal from outside the penalty box missing to the wide left of the goal.
Foul by James Dunne on Edward Upson, free kick awarded. Luke Ayling takes the free kick.
Lucas Akins takes a shot. Save made by Marek Stech.
Kevin Dawson takes a shot. Anthony Grant gets a block in.
Corner taken left-footed by Sam Foley, Effort from inside the six-yard box by Dan Burn goes wide right of the target.
Free kick awarded for a foul by Dominic Blizzard on Anthony Grant. Direct free kick taken by Luke Freeman.
Substitution Dominic Blizzard on for Matthew Dolan.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.