Southampton made most of the early running and Armani Little, Jay Rodriguez and Josh Sims all had shots saved by Joe Fryer.
It was Boro though who took the lead with their first meaningful attack.
With 16 minutes played they pushed through the middle and picked out Jordan Jones just to the left of centre inside the penalty area. A low, curling shot was saved at full stretch by Paulo Gazzaniga but it was all he could do to divert the ball into the path of Arnel Jakupovic who rifled in his 13th of the season from close range.
Good blocks from Callum Johnson and Rhys Williams kept the Saints at bay and Jakupovic nearly made it two from a 20-yard free-kick, but Gazzaniga acrobatically tipped over.
It was the visitors who were next to find the net as, with 31 minutes played, right-back Dom Gape swept over a low cross through the box from the right and Josh Sims smashed home at the back post.
Just two minutes later Rodriguez missed a sitter when he shot wide in front of goal.
It was Rodriguez who had the best chance in the early stages of the second half but with better placed team mates spare, he went for a shot and the chance was lost.
Just passing the mid point Boro were cut open when Sam Gallagher was sent clear through middle and after getting the better of Williams he sent a searing shot past Fryer from close to the edge of the box.
Boro found it hard to create chances as the visitors remained solid and held a good shape out of possession. Southampton looked lively, but were generally thwarted.
Lewis Maloney shot wide from 22 yards in the closing stages of normal time, but with seven minutes of injury-time played following a head injury to Gape, Saints wrapped it up when Sam Gallagher shot low past Fryer from 10 yards.
Boro: Fryer; Johnson, Williams, Elsdon, Kitching, Tinkler (Capt.), Jones, Pattison, Jakupovic, Morelli (Maloney 76), McAloon (Cooke 61). Subs: Coddington (gk); Wheatley, McGinley.
Southampton: Gazzaniga; Gape (Valeri 90+6), Votkins, Reed, Cook, Jones (McGinley), Gallagher, Little, Rodriguez (Olomola 61), Hesketh, Sims. Subs: Lewis, Johnson, Bakery.
Referee Billy Khatib
Yellow Card Johnson 37, foul