St Johnstone dominated the contest from the outset and went close early on when David Wotherspoon’s long-range effort was saved by Christopher Dilo in the Sunderland goal.
They forced a succession of corners in the first half but had to wait till 27 minutes to muster their next shot on target when May’s shot from an acute angle was dealt with by Dilo.
The home side almost broke the deadlock in the first half following a foul by St Mirren’s Jim Goodwin on Murray Davidson. David Mackay smashed the resulting free-kick past Dilo but was denied by the crossbar.
The visitors’ only shot in the opening half came just before the break but Paul McGowan’s wayward effort failed to trouble Alan Mannus.
Nigel Hasselbaink almost put the home side in front early in the second half with a drilled shot which looked destined for the bottom-left corner before Dilo’s timely intervention.
They should have taken the lead just after the hour mark when Hasselbaink forced another save from Dilo and Gary Macdonald followed up to tap the ball goalwards only to see his shot blocked.
St Johnstone were finally rewarded for their pressure after 71 minutes. St Mirren’s Steven Thompson conceded a corner and Davidson headed home from the resulting cross to give them a deserved lead.
They extended their advantage three minutes later with a stunning effort from May. His long-range shot from a tight angle flew past Dilo and into the top left corner of the net.
St Johnstone continued to press and had chances to make it three through May and Lee Croft but the score remained 2-0 ensuring the home side move up to sixth in the Scottish Premiership.