An 89th minute James McLaughlin goal sparked wild celebrations amongst the Coleraine faithful as the Bannsiders broke Glenavon hearts to book a place in the Tennent's Irish Cup final.
Oran Kearney's side crafted the first effort of note after five minutes when Ian Parkhill delivered a long ball to release Eoin Bradley who, in turn, laid the ball off for Brad Lyons but his subsequent shot was blocked.
At the other end Greg Moorhouse might have handed Glenavon the advantage from an Andy Hall corner only to turn the ball over from close range.
In what was an open game, Glenavon 'keeper Johnny Tuffey did well to deny Ciaron Harkin at the near post with a great save after Jamie McGonigle had sent over a cross.
Coleraine had a couple of chances around the half-hour mark. McGonigle tested Tuffey from distance before playing Darren McCauley in but his first time effort fell the wrong side of the upright.
And so the chances continued ... Hall turned the ball into the side netting from a Guy Bates touch before, for Coleraine, Tuffey had to be at his best to twice deny Bradley in quick succession.
The deadlock was finally broken three minutes into the second half when Lyons did enough to bundle the ball over the line from close range after Harkin had floated a corner into the box.
As might have been expected Glenavon came storming back, almost finding a way past Chris Johns from a Cooper set piece while, a few minutes after that, Ciaran Martyn and Moorhouse both tested the Coleraine 'keeper.
But the Lurgan Blues did equalise on 69 minutes through James Singleton after got his head to a Mark Sykes corner to direct the ball into the net.
Coleraine perhaps will feel they should have regained the lead soon after when McGonigle elected to go it alone from a tight angle when Bradley was perhaps better placed in front of goal.
Both sides could have snatched victory on 82 minutes. First, in the shadow of Slemish, Bates skimmed the post with a cross before Coleraine immediately broke down the other end but McGonigle could only drag his effort wide.
However, the game was settled with just a minute remaining when substitute McLaughlin powered a header beyond Tuffey from the edge of the six yard box after Bradley had done well to deliver the ball over from the right.
Coleraine: Johns, Kane, Mullan, Harkin, Ogilby, McCauley, McConaghie, Lyons, Parkhill, McGonigle, Bradley subs Douglas (not used), McCafferty (not used), McLaughlin (replaced Parkhill 76), Kee (replaced McGonigle 90+1), Doherty (not used)
Glenavon: Tuffey, Canning, Marshall, Cooper, Hall, Marron, Moorhouse, Martyn, Elebert, Singleton, Bates subs Hamilton (not used), Kilmartin (replaced Elebert 85), Patton (not used), Sykes (replaced Hall 61), Gray (replaced Moorhouse 90+1)