The visitors took an 11th-minute lead when Nick Robinson kicked between the posts with a penalty.
Ryan Lamb had a chance to draw his side level just a minute later, but he could only direct his kick wide of the goal.
Robinson also missed a penalty to further Wasps' advantage before Foden touched down in the 17th minute as Lamb kicked the extras to make the score 7-3.
Two more Robinson penalties gave Wasps a deserved 9-7 lead, but James Downey's try put the Saints back in front as Lamb missed with the conversion.
It mattered little as Lamb kicked over another penalty, which was followed by Foden's second try of the match thanks to a dynamic run from Chris Ashton. Lamb again kicked the extras to put Northampton 22-9 in front at half time.
A fourth penalty of the evening from Robinson just about kept Wasps in the match, but another kick from Lamb restored the Saints' 13-point lead.
Robinson launched a kick through the posts on the hour to bring his side to within 10 points of their opponents, but Northampton increased the pressure as they looked for a bonus point to help their playoff aspirations.