Northampton began with England players Courtney Lawes, Tom Wood and Luther Burrell on the bench, but Fotuali'i set up one try with a sublime kick and then scored the second before a try from Nick Easter gave the home side a nervy finish.
Saints dominated the first half, despite seeing wing Jamie Elliott shown a yellow card after just three minutes for taking out England full-back Mike Brown in the air as he fielded a cross-field kick in his 22.
On a soaking wet pitch, the scrum was always going to be scene of an important battle.
Jim Mallinder admits he nearly replaced match-winner Stephen Myler
30/04/2016 AT 18:29
Early on, Northampton were on the end of two penalties against loosehead Alex Waller, allowing Ben Botica a shot at the posts from nigh on 50 metres. but the fly-half, standing in for the injured Nick Evans, was well short.
It meant Northampton survived without conceding in the 10 minutes they spent with 14 men.
The hosts suffered a blow on the 20-minute mark when George North limped out of the action, but a minute later Stephen Myler gave them some recompense with a penalty to put the first points on the board.
Quins had barely entered Northampton's 22 when Ross McMillan burst through the visitors' line on the 22 thanks to a bullet Fotuali'i pass. The scrum-half then kicked to the left wing where North's replacement Tom Collins caught and splashed down for the opening try after 25 minutes.
The move was started by a strong carry from lock James Craig, who had an impressive game in front of watching England coach Stuart Lancaster.
Myler added another three points four minutes before the break and it was only then that Quins had their first sustained attack thanks to a break from Tom Guest that took them five metres away from the try-line but no further. Another scrum penalty at least saw Botica put them on the board to make it 11-3 at half-time.
After losing George Robson in the first half Quins reappeared without full-back Brown, who had needed treatment to his left knee when taken out by Elliott early on.
Botica missed a penalty from the left touchline, and four minutes into the second half Fotuali'i grabbed Northampton's second try after a long deliberation from television match official Jim Yuille decided he had not touched the ball as it squirted out of a ruck.
Although he reached for it, Fotuali'i had not made contact and it bounced into his arms for him to sprint over from 25 metres. Myler converted to make it 18-3.
As Northampton's kicking game went off the boil, so Harlequins finally got going, and Easter wriggled over after Maurie Fa'asavalu smashed his way to within inches of the try-line. Botica converted and it was 18-10 with 17 minutes left.
Northampton looked decidedly edgy, but with their England players coming off the bench and Myler finally finding the corner they held on.
Teimana Harrison stars as Northampton bounce back to sink Bath
30/04/2016 AT 16:56
Teimana Harrison stars as Northampton bounce back to sink Bath
30/04/2016 AT 16:59