Substitutes Ryan Jack and Scott Wright scored the decisive goals after the Edinburgh club forced extra-time in their attempts to add a trophy to a memorable season.
Rangers’ fitness levels came to the fore despite 120 minutes and penalties in Wednesday’s Europa League final in Seville. They scored twice in the first half of extra-time and, at the end of another 120 minutes, secured their first piece of silverware under manager Giovanni van Bronckhorst.
Hearts returned to the Capital frustrated but their supporters still applauded after a thrilling campaign which secured European group-stage football for next season.
Robbie Neilson, the Hearts manager, chose to risk defenders John Souttar and Craig Halkett plus midfielder Cammy Devlin and forward Liam Boyce in his starting line-up following recent injuries.
Van Bronckhorst listed five changes. Goalkeeper Jon McLaughlin, defender Leon Balogun, midfielders Steven Davis and Scott Arfield, plus 19-year-old striker Amad Diallo were all recalled.
Led out by MND-suffering fan Steve Morris, Hearts started strongly and almost scored after ten minutes. After Ellis Simms flicked on a long ball, wing-back Nathaniel Atkinson fed Boyce high on the right side for a low delivery across goal. Simms could only slide in to knock the ball off McLaughlin’s right post.
The first half evolved into a relatively open affair as both teams attacked at high tempo. Rangers’ two clearest opportunities arrived near the interval. Joe Aribo glanced Calvin Bassey’s left-footed cross wide of target before Diallo headed over the crossbar from another of Bassey’s useful deliveries.
There was little to separate the teams at the midway point. If Van Bronckhorst’s side felt any fatigue from Spain, they masked it well.
Challenges became more robust as a tense final continued with the scoreline still blank. Bassey took matters into his own hands on 74 minutes. He charged forward, feinted past Souttar and struck a low right-footed attempt which Hearts goalkeeper Craig Gordon required two attempts to collect.
Rangers came close again as Balogun’s powerful header from James Tavernier’s corner flew narrowly over Hearts’ crossbar. The Ibrox side were enjoying concerted pressure and would have fashioned more openings but for a series of headers, block tackles and clearances by the outstanding Souttar.
Gordon was no less an obstacle. In the dying seconds of regulation time, the keeper’s outstretched left foot prevented Aribo from winning the cup with a low shot from just inside the penalty box. Moments later, substitute Scott Wright headed Tavernier’s free-kick onto the bar.
Extra-time began with the unmarked Aribo heading another Bassey cross high. Rangers couldn’t afford to continue wasting glaring opportunities and eventually found struck four minutes into extra-time.
Tavernier’s corner was headed out by Halkett. Jack took a touch 20 yards out before lashing a ferocious shot high beyond Gordon into the net.
Moments later, a Rangers counter-attack ended with Wright collecting Kent’s pass to drive a convincing low finish across Gordon into the bottom corner.
Rangers (4-2-3-1): McLaughlin; Tavernier, Goldson, Balogun, Bassey; Davis (Jack 81), Lundstram; Diallo (Wright 63), Arfield (Kamara 81), Kent; Aribo (Sakala 106).
Hearts (3-4-2-1): Gordon; Souttar, Halkett, Kingsley; Atkinson, Devlin (McEneff 106), Haring, Cochrane (Mackay-Steven 100); Boyce (Halliday 76), McKay (Ginnelly 82); Simms.
Referee: Willie Collum.