Wolves did most of the pressing in a tight first half, but Vale defended well and home keeper Chris Neal didn't have a save to make until the 32nd minute.
Zeli Ismail cut in from the right flank to fire a 20-yard shot which Neal did well to clutch down to his right and the Vale stopper also denied Griffiths in stoppage time before the break.
Griffiths scuffed the best chance so far in the first minute of the second period, but the striker made amends by opening the scoring in the 56th minute.
Vale defender Carl Dickinson failed to clear his lines and Griffiths stole the ball in a flash before driving a fierce left-foot shot inside Neal's left-hand post from 14 yards.
The home side responded with gusto as Doug Loft's header from Adam Yates' cross struck a post before Dickinson almost atoned when his volley drew a brilliant save from Carl Ikeme.
But Wolves netted a second 15 minutes from time when Griffiths whipped in a cross from the right and substitute Sigurdarson steered a right-foot volley past Neal from six yards.
Sigurdarson then turned provider in the 83rd minute when his surging run took him past Neal before he passed to the classy McDonald to roll the ball into an empty net from eight yards.
Plucky Vale certainly deserved their injury-time consolation, though, when Tom Pope headed Chris Lines' long cross from the right inside Ikeme's right-hand post from five yards.