That's it for this live.
So Saints look on course for another top-10 finish, while Boro suffer a rather meek exit from the Premier League, albeit with an industrious final flourish in front of their home fans.
But it's the hope that kills you and Boro run out of time to find an equaliser on their final match at the Riverside before dropping back to the Championship.
Jay Rodriguez nearly has his second and Saints' third but his effort slides just wide.
Neat footwork from Steven Davis in the build-up but Boro still have a sliver of hope.
So close to an equaliser for Boro and it's Calum Chambers against his former club.
The defender cracks an effort on target and forces Fraser Forster into a fine save.
And that's Long's afternoon over as he's replaced by Charlie Austin.
Heartening scenes for Saints fans as the striker returns from his long-standing shoulder injury.
Boro captain Ben Gibson picks up a booking for a lunge on Shane Long.
Saints have been guilty of easing off since that Shane Long penalty miss and now find themselves in a nervy spell to end the game.
That said, Boro have not looked like creating much from open play. The visitors will have to keep concentrating from set pieces though.
Middlesbrough get another corner but can't score from this one as Southampton switch on and clear.
Moving towards the last 10 minutes at the Riverside - any late drama on the cards?
Steven Davis is on for Pierre-Emile Hojbjerg.
Boro have been dreadful but have a lifeline as Viktor Fischer's corner is headed in by Patrick Bamford.
It's not so much a header as the striker being in the right place at the right time for the ball to strike him and fall in.
Still, it's his first goal since rejoining Boro in January. Indeed, it's his first goal since April 2015.
Corner for Middlesbrough, is there a way back into this game?
Marten de Roon tries to repeat that famous Thierry Henry goal against Manchester United, controlling a flick-up and turning and firing but his effort goes over.
Boro not learning their lesson as Nathan Redmond is in a ridiculous amount of space on the left again, this time seeing his effort slide narrowly over the bar.
A dreadful piece of keeping from Guzan was matched by a dreadful penalty from Long there.
The striker had the pace to get to the through-ball ahead of Guzan, who suffered the indignity of his own fans begging Anthony Taylor to send the America off.
Long will be disappointed in his effort, but truthfully it should not matter much to the outcome of this game.
Dearie me, Shane Long has belted his penalty up and over, via a touch off the top of the crossbar.
Bad to worse for Boro as Shane Long is felled by Brad Guzan in the area and Anthony Taylor points to the spot.
Alvaro Negredo, in a bit of a huff, clatters through the back of Maya Yoshida.
The Spaniard is lucky to avoid a booking.
Boro boss Steve Agnew has seen enough as he makes a double change.
Adam Forshaw and Stewart Downing are off in favour of Viktor Fischer and Grant Leadbitter.
It's over. And it's over in terrible style for Middlesbrough thanks to Nathan Redmond's delicious finish.
The half-time replacement is in quite a staggering amount of space on the left edge of the area as he is picked out, before cutting inside one folorn attempted tackle and curling a brilliant strike into the top corner.
Brad Guzan had no chance but it was woeful defending from Boro.
Patrick Bamford is not advancing his own assertion that he's a Premier League-level striker here.
A ball from the left falls to the Boro striker on the bounce but he cuts across the ball in ugly fashion and slices it up and over the bar.
Dreadful effort. Boro's best chance of the game.
George Friend tricks his way inside Jeremy Pied on the left and sees his cross deflected out for a corner.
The left-back tries to rouse the crowd - a brief increase in noise that quickly settles back down.
The corner is dealt with by Southampton.
Jeremy Pied takes another awkward-looking tumble, a cause of concern for Saints, given his injury troubles.
Fortunately he's up again.
Stewart Downing curls in a deep ball to the back post that is headed back across goal and falls to Adam Forshaw, his deflected effort sliding wide.
It was a cracking ball from Downing from the left but his resulting corner is straight to Fraser Forster.
And we're off again...
Saints make a change as Nathan Redmond is on for Sofiane Boufal.
The teams are emerging from the tunnel and we'll be back under way soon.
So Southampton are up to ninth as it stands.
Middlesbrough look like they will at least avoid the ignominy of finishing bottom as Sunderland - 2-0 down at home against Swansea - are even more hapless than Boro.
Sofiane Boufal is the third different taker and he does clear the wall but his shot bounces straight into Brad Guzan's arms.
And that's your lot for the first half. A smattering of boos from the home crowd.
Not the greatest 45 minutes of football whatsoever.
Another free-kick in a decent position for Saints to end the first half as George Friend trips Shane Long.
Can they clear the wall this time?
Time enough for a shot at least, but Adam Forshaw's effort runs harmlessly wide.
Two minutes added time for the first half.
Enough time for a riposte from the hosts?
Oh my! A goal!
It's simple but effective stuff from Saints - Jordy Clasie strokes a ball down the right for Shane Long to surge onto and cut back a lovely cross for Jay Rodriguez to turn in under Brad Guzan.
Smart play from Rodriguez as he held his run to lose his marker Calum Chambers and leave himself completely free to strike home. Poor defending from Boro.
The only moment of any quality so far results in the first goal.
A ball from the right almost drops for Patrick Bamford and then Marten de Roon but is hooked away by Martin Caceres.
Bamford took a blow to the head in a collision with Jeremy Pied there. He's up and on his feet now.
Another free-kick for Saints. Another effort battered into the wall, this time by Pierre-Emile Hojbjerg. The follow-up header is easily gathered by Brad Guzan.
Three free-kicks that have offered shooting opportunities in this game, every one of them has hit the wall. Indicative.
Sofiane Boufal scored a wonderful goal to settle the reverse fixture and we might well need something like that again here in a game severely lacking in quality.
Marten de Roon makes the latest mistake by straying offside down the left.
Ryan Bertrand's free-kick smacks into the wall and away. Sigh.
Free-kick for Saints now in a good position as Adam Clayton clanks the ankles of Jordy Clasie.
Shane Long is played through in the box and elects to try and square the ball for Pierre-Emile Hojbjerg but Brad Guzan smothers at the second attempt.
A shot may have been a better choice for the Republic of Ireland international.
Jeremy Pied bangs a cross well over the head of every Saints player in the area and out for a goal-kick.
Sure, he'll be rusty after an extended spell out with injury but that was woeful.