Kevin Braniff scored four goals to fire Glenavon into a second Irish Cup final in three seasons and end Crusaders’ hopes of a league and cup double.
The Crues were ahead twice in the first half through Matthew Snoddy but Braniff levelled twice for the 2014 winners.
Paul Heatley restored his side’s lead soon after the break but Braniff equalised again and scored the winner to secure a thrilling Windsor Park win.
Glenavon will face Linfield or Lurgan Celtic in the final on Saturday 7 May.
Crues out to bridge seven-year gap
Crusaders were looking to take another step towards a first success in the country’s premier knockout competition since 2009 and also aiming to avenge their defeat by the Lurgan Blues in the last four stage of the cup two years ago.
Gary Hamilton’s side had suffered just one reverse in their last 10 matches and continued that run by ending Stephen Baxter’s side’s hopes of securing a first season ‘double’ in the north Belfast club’s history.
Jordan Forsythe saw his early 25-yard free-kick brilliantly tipped round by Johnny Tuffey and then the unmarked Braniff poked wide from six yards out after meeting Andy Hall’s cross from the right.
Snoddy poked home the opener from five yards out in the 24th minute after Jordan Owens had headed down Gavin Whyte’s delivery.
Braniff restored parity three minutes later by curling a left-foot shot past Sean O’Neill when the ball fell to him on the edge of the area following a piercing run from Rhys Marshall.
Snoddy nudged the league leaders ahead again on 28 minutes, unleashing a low left-foot drive low and hard into the bottom corner of the net from 25 yards.
Two minutes before the interval, Ciaran Martyn released Braniff to fire under the body of O’Neill and make the half-time score 2-2.
Goalscoring continues after the break
The fans had to wait just two minutes for the goal-scoring action to resume on the resumption as Heatley swept a right-foot half-volley into the corner of the net to give his side the lead for the third time.
Braniff headed in Andy McGrory’s cross in the 53rd minute and then met Declan O’Brien’s pass across the face of goal to rifle in the winner after 72.
Crusaders piled on the pressure in search of an equaliser but Tuffey saved well with his feet from substitute Ross Holden and Diarmuid O’Carroll’s effort flew wide of the post.