Phil Roberts scored a goal-of-the-season contender as Dartford climbed to fifth in National League South with victory over Gloucester.
Roberts lit up Princes Park with a sensational volley in the first half and Charlie Sheringham converted a late penalty after City had threatened to snatch a point.
It's now eight home games unbeaten for the Darts, who won this game without playing anywhere near their best.
Dartford handed a home debut to Joe Healy, who stepped in to play instead of the suspended Lee Noble, while fit-again Callum Driver made his first league start since August at right-back.
There was no tempo to Dartford's play for much of a low-key first half, with the visitors looking solid in defence if rather limited going forward.
Darts had a strong wind at their backs and Bailey Vose's long kick almost ran all the way through for Roberts in the City box.
Roberts then stumbled at the crucial moment as he tried to get on the end of Darren McQueen's flick from a Ben Greenhalgh cross.
Gloucester keeper William Henry had a rush of blood moments later, charging out of his box to challenge McQueen as he ran onto Ryan Hayes' crossfield pass. McQueen got the ball first and returned it into Roberts' path, with his strike partner rattling the base of the post from 20 yards.
Ronnie Vint's header from a Greenhalgh free-kick deflected behind for a corner, although Joe Parker went close with a shot on the turn at the other end.
Henry got right behind Greenhalgh's well-struck shot from 35 yards and a piece of superb defending from Spencer Hamilton prevented McQueen getting on the end of a dangerous Hayes delivery.
There was controversy in the 28th minute when Driver burst into the box and tumbled over Noah Smerdon's outstretched leg but referee Jack Packman waved play on.
Some home fans thought Elliot Bradbrook had volleyed Dartford in front from another Greenhalgh set-piece but his effort had rippled the side-netting instead.
The game was drifting towards half-time until Roberts illuminated the contest with a spectacular strike two minutes before the interval. Roberts found Hayes with a terrific diagonal pass and then met his floated cross with a wonderful volley which sailed back across Henry and nestled in the far corner.
But the visitors might have equalised straight away if Tom Bonner hadn't thrown himself bravely in front of a Joe Hanks effort after he'd been teed up by Zack Kotwica.
Gloucester started the second half brightly but almost conceded a second goal when Bradbrook found Hayes with a quick switch. Hayes showed a good turn of pace to beat his man down the right and his cross was headed just wide at the near post by McQueen.
But the Darts looked sluggish and they nearly paid the price when Kotwica ran clear in the box. A hand on his back from Dan Johnson saw Kotwica go down but again Mr Packman was unmoved as Gloucester screamed for a penalty.
Sheringham, on for Roberts, volleyed over when Bradbrook got his head to a deep Greenhalgh corner but still the visitors were seeing plenty of the ball.
Gloucester sensed there might be something in the game for them and Vose was left standing by a Fabian Robert shot which flashed narrowly wide after Dartford had charged down Luke Russe.
The visitors went close with a header from a corner before Bradbrook nodded Tom Murphy's looping cross over at the other end.
Dartford, though, were dropping deeper and deeper, inviting City forward in the closing stages. Johnson failed to cut out a diagonal ball and the hosts were lucky that Parker's low ball in from the right lacked quality.
Having failed to give what looked two clear penalties earlier in the game, Mr Packman then spotted a handball in the City box seven minutes from time. Sheringham accepted the gift, scoring from the spot, despite Henry getting a strong hand to his spot-kick.
It was harsh on Gloucester but all that mattered to Dartford was another win which takes them a step closer to the play-offs.
Dartford: Vose, Driver, Vint, Bonner, Johnson, Hayes (Murphy 68mins), Healy, Bradbrook, Greenhalgh, Roberts (Sheringham 59mins), McQueen (Coker 85mins). Subs not used: Onyemah, Wynter.
Gloucester: Henry, Hodges, Smerdon, Hamilton, Avery, Hanks, Robert, Russe (Knowles 87mins), Parker, Kotwica, Manford (Jackson 68mins). Subs not used: Williams.