A dramatic contest at Wembley was settled when Ibrahimovic headed in Ander Herrera's cross just as the match appeared destined to move into extra-time.
A controversial and thrilling match saw Southampton have Manolo Gabbiadini's strike wrongly ruled out for offside before Ibrahimovic struck with an impressive free-kick at the other end.
Jesse Lingard got the second, finding the bottom-right corner after a neat team move to net on his third consecutive Wembley appearance for United, before Gabbiadini got a goal that did count in first-half stoppage time.
Gabbiadini made it five goals in three Saints matches with a magnificent finish early in the second half, but Ibrahimovic had the last word with his 26th goal of the season.
United have now won the tournament on five occasions, a record bettered only by Liverpool.
Mourinho claims the first major trophy of his United reign and his fourth overall victory in the competition, tying the record jointly held by Brian Clough and Alex Ferguson.
Southampton's wait for a first EFL Cup goes on as their FA Cup success in 1976 – which came against United – remains their only major trophy.
Claude Puel has now lost both of his management appearances in major domestic cup finals, having been beaten as Monaco boss in the 2001 Coupe de la Ligue final.
6 - Zlatan Ibrahimovic has now scored six times in his last five domestic cup finals. Update.— OptaJoe (@OptaJoe) February 26, 2017
Paul Pogba had an early long-range drive beaten away by Fraser Forster, before United survived a moment of major controversy at the other end.
After Cedric Soares got the better of Marcos Rojo down the right, Gabbiadini tapped in his cross from close range but was denied by an offside flag, even though only team-mate Ryan Bertrand - who did not make a move towards the ball – had strayed beyond the last defender.
United took advantage of the reprieve, moving ahead in the 19th minute after Oriol Romeu had been booked for fouling Herrera.
Ibrahimovic did the rest, sending a curling 25-yard free-kick beyond a flat-footed Forster for his sixth goal in as many games.
Southampton continued to make an impression after the goal and David de Gea made an important one-handed save from James Ward-Prowse, before using his legs to keep out Dusan Tadic.
United struck a hammer blow seven minutes before the break when Lingard – selected over Wayne Rooney and Marcus Rashford – justified Mourinho's decision by picking his spot from just inside the area after a neat move involving Juan Mata, Anthony Martial and Rojo.
But Southampton continued to fight, Gabbiadini scoring moments before the half-time whistle with a close-range strike that stood this time after Ward-Prowse's low cross.
United brought Michael Carrick on for Mata ahead of the restart, but Saints drew level three minutes into the second half.
A corner was only half-cleared and when Steven Davis headed back into the area, Gabbiadini turned and simultaneously buried a left-footed volley into the bottom-right corner from 12 yards.
2 - Manolo Gabbiadini is the second player to score twice in a League Cup Final against Manchester United after Dean Saunders. Double.— OptaJoe (@OptaJoe) February 26, 2017
Lingard managed to avoid a second yellow for tripping Redmond, before Romeu had the same reprieve despite appearing to elbow Herrera.
Romeu then saw his deflected header bounce off the post from a Ward-Prowse delivery, while Lingard lashed over from a good chance at the other end as a thrilling clash continued.
The destination of the trophy was finally decided in the closing stages when Martial fed Herrera, whose floating cross was converted by Ibrahimovic's thumping six-yard header.