Scrum-half Lee Dickson was awarded a try which looked short of the line
Northampton cut the gap on Heineken Cup Pool One leaders Munster to two points following a fine win over Perpignan.
Two Shane Geraghty penalties gave the Saints a 6-0 half-time lead before turning on the style after the break.
Prolific winger Chris Ashton finished Ben Foden's enterprising break before the winger turned provider for flanker Phil Dowson in the 54th minute.
Scrum-half Lee Dickson added a third before Jon Clarke scored a dramatic last-minute try for the bonus point.
The centre's 81st-minute try ensured Northampton are still in contention of topping Pool One ahead of their final group match against Magners League champions Munster at Thomond Park next weekend.
The victory also stretched Northampton's impressive winning run to 10 matches as well as extend their superb record at home - Jim Mallinder's side have lost only once in 45 matches at Franklin's Gardens.
The defeat compounds a disappointing European campaign for French champions Perpignan, who are still winless in the Heineken Cup against English teams away from home.
Northampton's pre-match preparations were hampered when England call-up Courtney Lawes failed to recover from a minor groin strain, so Neil Best was promoted off the bench to start at blind-side flanker.
The visitors began badly when fly-half Steve Meyer missed a straightforward penalty just two minutes after kick-off, while Meyer was sin-binned in the 16th minute for not retreating 10m from a quick tap penalty.
Geraghty should have put the hosts 3-0 up a minute later when he was hauled down 10m short of Perpignan's tryline by a high tackle by Rimas Alvarez, but he completely miscued the subsequent penalty kick from 30m.
However, the fly-half eventually nailed three points in the 27th minute before making a more telling contribution three minutes later when he denied Adrien Plante a certain try.
The Perpignan right winger hacked a loose ball 70m down the pitch and seemed certain to score, but Geraghty's outstretched boot somehow cleared the ball from under Plante as he prepared to apply the necessary downward pressure.
And the former London Irish star doubled Saints' lead with a well-struck penalty four minutes before the interval.
Ben Foden had another impressive match at full-back
Ashton, so quiet in the first half, soon sprang into life four minutes into the second half when he finished a superb move crafted by the ingenuity and fleet-footed skills of Foden.
The full-back jinked past two defenders and drew in a third before timing a perfect pass for winger Ashton to touch down in front of the posts from 30m.
And the England recruit turned creator 10 minutes later, cutting inside off his wing and drawing three defenders before finding support from Dowson on his inside shoulder to slide over for a well-worked score.
With Perpignan's beleaguered defence in disarray, Dickson combined with Best to score on the hour, although television replays clearly showed the scrum-half had grounded the ball well short of the tryline.
However, referee Alain Rolland deemed the score was legitimate, allowing Geraghty to thump over his third conversion.
Mallinder made a raft of changes as Northampton pushed forward for a bonus-point try, but were thwarted as Perpignan firmed up their flimsy defence.
However, Clarke managed to sneak over right at the death to set up an enthralling encounter against two-time Heineken Cup champions Munster in Limerick next week.
Northampton rugby director Jim Mallinder told BBC Radio Northampton:
"We've proved in the last few games recently, we play for 80 minutes. We did well in the second half with three tries early on.
"We made a few tactical decisions, with the five-day turnaround to Munster, and thankfully it paid off.
"There's some good players (at Perpignan). You don't just score tries at ease, and you've got to be patient.
"Courtney Lawes has a niggle on his groin and unfortunately he wasn't right today. It wasn't worth risking him."
Northampton: Foden, Ashton, Clarke, Downey, Reihana, Geraghty, Dickson, Tonga'uiha, Hartley, Mujati, Fernandez Lobbe, Kruger, Dowson, Best, Wilson. Replacements: Day for Fernandez Lobbe (55), S Gray for Best (61), Mayor for Downey (61), Myler for Geraghty (63), Dickens for Dickson (63), Vickers for Tonga'uiha (63), Sharman for Hartley (64). Not Used: Waller.
Perpignan: Burger, Plante, Manas, Hume, Michel, Meyer, Cazenave, Chobet, Guirado, Bourrust, Vivalda, Alvarez, Guiry, Perez, Le Corve. Replacements: Pulu for Bourrust (47), Laharrague for Meyer (47), Mele for Burger (55), Schuster for Chobet (55), Geli for Guirado (55), Tchale-Watchou for Vivalda (61), Parent for Le Corvec (61). Not Used: Sid.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.