Steven MacLean had headed the Perth side ahead 35 minutes in after home goalkeeper Rab Douglas sullied his 300th appearance for Dundee with a handling gaffe, but John Baird cancelled that out with his own header just before the break.
Saints struck again through skipper Dave Mackay's free-kick on 68 minutes as he made sure it was a double punishment for the hosts following Declan Gallacher's dismissal following his last-man tug on .MacLean. However, just as the visitors thought they had done enough for the Tayside derby win, Stewart struck at the death.


