The visitors headed into the game having not played for nearly four weeks but showed no signs of rustiness in seeing off their Third Division opponents.
Kenny Deuchar opened the scoring after 23 minutes, having seen his side spurn several opportunities early on, and from then on the outcome was a formality.
Liam Craig added another just before half-time before putting the game beyond any doubt early in the second half with a fine lob.
Manager Derek McInnes went for an attacking formation, with strikers Peter MacDonald and Steven Milne deployed alongside targetman Deuchar in a three-pronged attack.
Forfar, whose last match was on December 12, have a smattering of experience in their team, with former Saints man Martyn Fotheringham and veteran defender Andy Tod asked to use their big-match experience.
St Johnstone should have taken the lead after just two minutes when a cross from the left-hand side left Forfar scrambling. The ball found its way to Milne at the back post but his looping header went inches wide.
The hosts had a chance of their own after seven minutes when goalkeeper Graeme Smith failed to hold a corner, allowing the ball to drop for Ross Campbell. The striker did well to keep the ball down but was thwarted by Smith, who saved with his legs on the six-yard line.
St Johnstone should have taken the lead on 17 minutes when Chris Millar played a wonderful ball through for full-back Danny Grainger, who had galloped through the midfield. But the former Dundee United man could not get the ball under control and, despite having sprung the offside trap, was caught by Iain Campbell before he could shoot.
Forfar survived another scare on 21 minutes when Craig shot from the edge of the box but again Campbell got his body in the way to deflect it just wide.
The opening goal came just two minutes later, though, and again Grainger was heavily involved. He strolled up the left wing with the ball before picking out Deuchar, who flicked a neat header into the bottom-right corner.
The former Gretna striker almost added another after 32 minutes, this time getting on the end of a cross from Craig, but goalkeeper Alistair Brown turned the ball around the post.
Forfar were putting up a fight and came very close 60 seconds later with a Chris Templeman volley which went just wide.
But St Johnstone got the second two minutes before the break when Craig latched onto a low cross from Deuchar before turning a shot into the bottom corner from 16 yards.
Deuchar should have scored another after 48 minutes when Forfar failed to clear a David MacKay cross but he scuffed his shot wide from six yards.
St Johnstone seemed able to cut through Forfar at will and had another chance on 56 minutes when Millar set up MacDonald but the goalkeeper dived at his feet to make a brave block.
Forfar were undone 60 seconds later when Millar put the ball through for Craig and he simply lobbed a shot over Brown.
The hosts appealed for a penalty on 66 minutes when Templeman went down inside the box but referee Calum Murray waved away their claims.
With the game effectively won, St Johnstone concentrated on keeping possession and taking the sting out of Forfar's attempts to get back into the contest.
Manager McInnes brought on Murray Davidson for goal hero Craig late in the game, while youngster Stephen Reynolds - fresh back from a loan at Ayr United - replaced Milne.