Goalkeeper Neil Alexander was the hero as Rangers beat battling St Johnstone in a tense penalty-shoot out after a 1-1 draw at Hampden.
Alexander - between the sticks for the injured Allan McGregor - saved spot-kicks from both Steven Milne and Jody Morris before Daniel Cousin rolled home the winner.
Substitute Daniel McBreen finally broke the deadlock four minutes into extra time. Paul Sheerin provided a teasing cross from the left and McBreen connected to dispatch a downward header past Alexander.
Rangers were back on level terms eight minutes later when Cousin was tripped in the box by Gary Irvine and referee Dougie McDonald immediately pointed to the spot.
Novo did the honours from 12 yards, hitting a finely struck penalty to the keeper's right.
Rangers will now face First Division side Queen of the South in the final on May 24.