Verschoor was pleased to get the win but knows he was lucky to hang on.
"To be honest I was going a little bit too slow at the beginning," Verschoor said. "I didn't push at all and then I made a mistake – I went off on the marbles – and he was on my ass."
American Juan Manuel Correa held off a charging Robert Shwartzman for third. Shwartzman retains second in the championship.
Rookie Reid Harker brought his car home in an impressive sixth place while fellow New Zealanders Taylor Cockerton (eighth), Brendon Leitch (ninth) and Ryan Yardley (13th) were further back.
Armstrong has clearly adopted a more consistent approach this season having demonstrated speed last season in winning three races last year but also fought too hard over places at times and recorded costly DNFs.
His second placing continues a run of seven straight podium finishes to the 2018 season.
To get the day's top sports stories in your inbox, sign up to our newsletter here