Former Celtic striker Craig Beattie converted from the spot after Joe Ledley was adjudged to have handled Marius Zaliukas’s shot, a very harsh decision as the Wales midfielder had not raised his arm and was a yard away from the Lithuania defender.
Holders Celtic had equalised only minutes earlier as Gary Hooper buried a close-range header to cancel out Rudi Skacel’s opener early in a frantic first half, both goals clouded by hints of offside but ultimately allowed to stand.
Neil Lennon’s misery was further compounded when, in the dying seconds of injury time, the ball struck Hearts defender Andy Webster, referee Euan Norris waving play-on as - like the spot-kick he had awarded - it was never a penalty.
Celtic, who were stunned in the League Cup final by Kilmarnock, must content themselves with the SPL title won well ahead of schedule, while Hearts face city rivals Hibernian.
A game of two halves saw a cagey, uneventful first 45 followed by a hectic second period that, in addition to the goals and controversy, saw Celtic’s Ki-sung Yeung hit the woodwork for a second time having done so late in the first half.
With Hearts setting their stall to frustrate the SPL champions, nerves appeared to play a part for the favourites. Those nerves saw a couple of early defensive errors from Kelvin Wilson and Charlie Mulgrew go unpunished, goalkeeper Fraser Forster denying Stephen Elliott for the first incident and Wilson helping his team-mate out to clear from the second.
Despite promising runs from Andrew Driver, Hearts were overwhelmingly negative: that strategy restricted Celtic though, their first sighter coming when Hooper misdirected a free header on 25 minutes.
The Hoops’ first shot on target came on 40 minutes as Kris Commons fired weakly at Jamie MacDonald; their best effort came just before half-time as Ki’s header struck wood after a fine cross from Mikael Lustig found the Korean unmarked.
Hearts boss Paulo Sergio changed tack at the break, bringing on ex-Bhoy Beattie, benched after his return from injury.
The change paid off immediately as, a minute after the restart, Beattie’s delicate first-time pass released Skacel, who escaped a defence confused by the offside but theoretically inactive Driver, the Czech rounding Forster and fired a rasping finish into the roof of the net.
Indeed, Hearts looked a different team in the second half as - with Celtic still toiling - the leaders took the game to the Hoops, Skacel forcing a fine stop from Forster with a swerving long-range effort followed a free-kick he had won.
Beattie and Skacel were enjoying themselves, the former again releasing the latter with a turn and pass but the Czech shooting wide.
Lennon acted on the hour mark, replacing the ineffectual Georgios Samaras with Anthony Stokes. But Celtic like to self-destruct, which they almost did again when Lustig’s slip let Driver in, the Swede’s blushes spared by the quick thinking of Glenn Loovens.
Hearts were still looking the livelier, as Beattie went close with a fizzing low effort after a one-two with Driver. Stokes, meanwhile, was already more effective than Samaras, seeing a low angled drive deflected just wide before shooting at MacDonald.
Celtic were finding their rhythm, Hooper almost setting Commons free, MacDonald doing well to claim; Hearts were still a threat on the break though, Beattie finding Skacel with a fine cross but the bicycle-kick off target.
Lennon’s side should have drawn level with nine minutes left but, for the second time, Ki headed against the post when he should have scored: Commons picked the Korean out with an excellent free-kick from wide and, unmarked and even closer range, he fluffed his lines again when it seemed easier to score.
They continued to press, Commons forcing a good stop from MacDonald with a curling free-kick, and the keeper again clawing the ball off the line after Mulgrew met the corner with a towering header.
Celtic had a penalty appeal waved away as Ki went down far too easily when challenged by Ryan McGowan, and with time running out it seemed the Hoops would be foiled in a Cup once more this season.
But, seconds later, they drew level as Hooper - possibly fractionally offside - buried a point-blank header into the bottom right: he could hardly miss from five yards, but it was a fine swerving cross from Mulgrew.
That set up a frantic finish as both sides tried to win it in normal time.
And, as the 90 came up, there was an almighty stink about the decision to penalise Ledley when - with his hand by his side - a speculative effort from Zaliukas on the edge of the box flew into his midriff, making contact with the forearm.
Context is hugely important with handball decisions, and it appeared to have been missed by Norris. Beattie did not care though, driving the spot-kick down the middle off the fingers of the diving Forster, ripping his shirt off in joy as he celebrated with a comedy stomp behind the goal.
There were still five added minutes for Celtic to throw everything forward, Ledley seeing a volley saved by MacDonald before Webster’s chesty intervention.
The final whistle went soon afterwards, Lennon predictably rushing straight to Norris, repeatedly calling him a "joke" as he harangued the official.
He may see yet another SFA ban result from that barrage, but the Northern Irishman's season is effectively over anyway, the league won prior to the SPL split and the remainder of the campaign little more than a pre-season tournament.