Andy Pugh's volley had the Darts in front after 15 minutes a a lead they held until half-time.
Then Alex Brown and Alfie Pavey took the game away from the visitors with two goals in the opening 3 minutes of the second half.
A late 85th minute Ben Gerring own goal made it 4-0 and Truro pulled one back at the death through Niall Thompson.
Second-placed Havant & Waterlooville were held to a goalless draw at another top seven challenger, Hemel Hempstead Town.
Rory Williams and Jason Prior both hit the bar for the visitors.
Hampton & Richmond Borough took advantage of the Hawks` draw to move into second after a 1-0 Beveree win over second-bottom Bognor Regis Town.
It wasn`t pretty at times, but Shaun Jeffers strike 6 minutes from time sealed an important win for the Beavers against a Rocks side who finished with ten-men after skipper Sami El-Abd was sent-off for a late challenge on Josh Casey.
Fourth-placed Chelmsford City were beaten 2-0 at Oxford City, who are now fourteenth and a healthy ten points above the drop zone.
Once more, Oxford were grateful to MK Dons loanee Samuel Nombe for victory as he bagged a brace in the 7th and 50th minutes.
St Albans City are fifth now after a 2-0 Clarence Park victory over a Chippenham Town outfit who are fourth-bottom, four points above Poole Town.
It looked as though the Bluebirds were heading for a useful away point, until 2 minutes into stoppage time at the end of the game when Kieran Monlouis was brought down in the box and Zane Banton kept his cool to convert the resulting penalty.
And in the 94th minute, Rhys Murrell-Williamson powered into the box, cut inside and netted to kill the game off.
Braintree Town moved up to sixth after a hard-earned 1-0 Cressing Road win over third-bottom Poole.
It was new signing Dan Thompson who grabbed what proved to be the only goal of the game after 31 minutes.
Welling United moved to within a couple of points of the top seven when they won 2-0 at a still-in-trouble Concord Rangers.
Jack Parkinson gave the Wings the lead at a crucial time, seconds before the half-time whistle.
And then a Ben Greenhalgh own goal after 63 minutes settled the points for the Kent visitors.
Welling moved above Bath City on goal difference after the Romans shared a 1-1 draw at mid-table East Thurrock United.
Bath opened the scoring just after the half-hour mark when Jack Compton’s corner was deflected onto the back of Jack Batten’s head and it beat Lukas Lidakevicius.
The Rocks started the second half well and were level inside 5 minutes when
Montel Agyemang fired home after being left unmarked in the area.
Bath defender Sean Rigg was sent-off for a second bookable offence after 66 minutes, but, despite dominating the final stages, the Rocks couldn’t find a winner.
Weston-super-Mare earned a good 2-1 win at Priory Lane against Eastbourne Borough, despite playing the last half-an-hour or so with ten-men.
Boro led through Manny Odubade`s 33rd minute effort which was cancelled out within 5 minutes by Phil-Kenan Dunnwald.
On the hour-mark though Boro conceded a soft-looking penalty for a foul by Harry Ransom and Gethyn Hill converted from the spot to make it 2-1.
And on 66 minutes Naby Diallo was shown a second yellow after bringing down Sergio Torres, but the Seagulls held firm.
Bottom-markers Whitehawk picked up another point but are still twelve adrift of the safety mark.
The Hawks have only lost one in nine but draws – this being a third successive 1-1 – are not really enough in their predicament.
Visiting Gloucester City conceded an early 3rd minute opener to Goldy Omotayo, but levelled within 14 minutes through Joe Parker to eventually earn a point.