Ten-man St Johnstone needed extra time to see off the challenge of Raith Rovers in the Challenge Cup.
Armand One chipped the visitors into an early lead but a Steven Milne header levelled the game before the break.
With 83 minutes gone, Ryan Stevenson was sent off for a push on Rovers midfielder Chris Silvestro.
But the Perth side made light of the setback and Kevin James netted a header in extra time before Milne added a great curling shot.
St Johnstone: Cuthbert, Anderson, Mensing, McManus, Stevenson, James, Young (Moon 90), Dyer, Milne, MacDonald (Doris 60), Sheerin, Doris (Coyle 105). Subs Not Used: Lawrie, Halliwell.
Sent Off: Stevenson (83). Booked: Sheerin, Mensing, McManus. Goals: Milne 24, James 97, Milne 112.
Raith Rovers: Michael Brown, Bonar, Fotheringham, Silvestro, Campbell, Lumsden, Tulloch (Leiper 85), Harty, One (Manson 65), Ian Davidson, Kilgannon (Fairbairn 98). Subs Not Used: Batchelor, Fahey.
Booked: Fotheringham. Goal: One 8.
Ref: C Boyle