The Light Blues passed up a series of chances with Hoops goalkeeper Fraser Forster making key saves to keep the game scoreless at the interval.
Rangers were punished for those missed opportunities when Celtic defender Christopher Jullien knocked in a Ryan Christie free-kick in the 59th minute
Forster then saved a penalty from Alfredo Morelos, after Hoops right-back Jeremie Frimpong had been sent off by referee Willie Collum for fouling the striker inside the box.
Neil Lennon’s 10 men held out for their 10th consecutive trophy win and his first success in the tournament as a manager, as Celtic delivered a psychological blow to Rangers, who have gone eight years without a major piece of silverware
This was another epic final between the two Glasgow giants.
The usual speculation and rumour surrounding team news before the game was ended when it was confirmed that Odsonne Edouard was only fit enough for the bench.
Mohamed Elyounoussi and Jonny Hayes came back in with Frimpong and Jullien also returning as Nir Bitton, Olivier Ntcham and Moritz Bauer dropped out, the latter altogether, with Greg Taylor cup-tied.
Rangers left-back Borna Barisic recovered from a foot injury to take over from Jon Flanagan, with Glen Kamara in for injured midfielder Steven Davis.
Few would have predicted the way Rangers bossed the first half as the rain refused to take a break.
Light Blues defender Connor Goldson twice missed the target with headers from James Tavernier deliveries before Forster pulled off a terrific save from Ryan Jack’s 30-yard thunderbolt.
The keeper almost let an angled-drive from Morelos slip through him and then Rangers defender Filip Helander headed a Tavernier corner past the post moments later.
Celtic were struggling to cope with Rangers’ intensity.
Hoops defender Kristoffer Ajer headed a Christie corner over the bar but there was another Rangers chance in the 26th minute.
Morelos skipped past Ajer down the right but from an almost impossible angle he drove straight at Forster, with team-mates better placed.
Forster made another save from the Colombia international, this time from close range, as the aggressive Light Blues again got in behind the Celtic defence with ease.
Winger Mikey Johnston replaced the ineffective Elyounoussi for the start of the second half but Celtic soon had to defend with desperation.
Morelos came close when he returned a Tavernier cross back along the goal-line and then Forster again denied the forward with a terrific save from a close-range header.
In between that, a penalty shout when Morelos tangled with Celtic skipper Scott Brown inside the box was ignored by referee Collum.
There was no surprise when Edouard replaced Lewis Morgan in the 58th minute and his impact was immediate.
The French striker was chopped down by Goldson and Christie’s free-kick from the left was steered in by Jullien, although there was a suggestion of offside.
Four minutes later, amid the bedlam, Morelos had the chance to break his Old Firm scoring duck when he was hauled to the ground by Frimpong, the 18-year-old Dutch defender sent packing before the Rangers striker saw his penalty parried away by Forster.
Celtic had the chance to double their lead in the 69th minute when Edouard set up Johnston on the break but with only keeper Allan McGregor to beat he lost his footing and shot wide.
The final moments were frantic and there was another Rangers penalty claim turned down when Johnston jumped with Morelos but Lennon’s side survived to create another record and leave Rangers wondering what they have to do to end the Hoops’ hegemony.
5 things we learned from the weekend’s Scottish football
Another exciting weekend of Scottish football ended with Celtic beating Rangers 1-0 in an enthralling Betfred Cup final at Hampden Park.
Here, the PA news agency looks at five things we learned from both league and cup matches north of the border.
Alfredo Morelos might never score against Celtic
The otherwise prolific striker’s failure to score against Celtic stretched to 11 games after he squandered a series of chances to put Rangers in the driving seat at Hampden.
The Colombian was denied five times by Fraser Forster before the Celtic goalkeeper saved his penalty.
Morelos – who has scored 25 times already this season – shot wide of the target from another good position in stoppage time.
Celtic can win ugly
The Hoops have enjoyed dominant and clinical performances in finals as well as grinding opponents down during their treble-treble years.
But they had to show another side as they sealed a 10th consecutive domestic trophy after a poor performance.
Christopher Jullien netted from an offside position on the hour mark with their first chance and they battled on with 10 men after Jeremie Frimpong was sent off three minutes later.
Forster was unquestionably the star man but Celtic had other heroic shifts of sheer effort and commitment in that final half hour.
The wait goes on for Rangers
Rangers fans have waited since 2011 for their team to bring a major trophy back to Ibrox and they will be left wondering how that drought will extend into a new decade after their side dominated against Celtic.
With trips to face Motherwell and Hibernian in the coming weeks, Rangers have to bounce back quickly to make sure they remain competitive in the title race ahead of the next derby at Celtic Park on December 29.
Hamilton are in free-fall
It was another fruitless afternoon for Hamilton as Cameron MacPherson’s second-half goal – his first of the season – gave St Mirren a narrow win.
Alex Gogic was sent off for the home side in the latter stages of Saints’ first victory in four games and their first away win of the season.
Brian Rice’s men, however, have gone 10 matches without a victory and sit above bottom side St Johnstone on goal difference.
Aberdeen’s unbeaten run ends
Derek McInnes’ side fought back from two goals down to draw 2-2 with Rangers in a thrilling match at Pittodrie on Wednesday night but surprisingly melted at Easter Road.
Hibernian ran out deserved 3-0 winners with Martin Boyle scoring a double and Florian Kamberi notching.
It was the Dons’ first defeat in seven games and they have to try to start another run against struggling Hamilton next week.