Antonio German snatched an injury-time equaliser for Gillingham at Bradford City on Saturday afternoon.
Gills were heading for defeat after an own goal by Leon Legge but substitute German finished a 93rd-minute corner by Brennan Dickenson to earn a deserved point that keeps them out of the League 1 relegation zone.
Gillingham made three changes to the side who beat Leyton Orient last weekend, with Cody McDonald, Bradley Dack and Kortney Hause replacing Danny Kedwell, Jermaine McGlashan and suspended Michael Doughty in a switch to 3-5-2.
It was a formation that served Gills well in a goalless first half as Doug Loft, Jake Hessenthaler and Bradley Dack won the midfield battle.
Bradford made a fast start attacking the Kop but Gills kept their concentration, defended well and showed patience in possession to quieten the home crowd.
McDonald was denied by the linesman's flag - it was an excellent finish, though - before playing in roaming wing-back Gavin Hoyte whose strike was saved by Jordan Pickford at his near post.
Dack went close to a spectacular opener by meeting a clearance from a Loft free-kick flush on the volley, only to see his strike flash inches over.
Legge, more than playing in his part in Gills' back three, sent a header wide from Brennan Dickenson's far post corner just past the half-hour.
But the Bantams went closest to breaking the deadlock when Jon Stead pulled the back for substitute Billy Knott who hit the post.
Stead thought he'd put Bradford in front in the last minute of the first half but his header from Mark Yeates' cross was ruled out for offside.
Bradford kept the ball well early in the second half, although McDonald would have been in with a better pass from Dickenson having been found by Loft.
City took the lead on 56 minutes when Halliday pounced on a slip by Hause and thrashed a ball across which was turned in by Gills defender Legge.
It was hard on Legge, who'd been having a decent game, but he cleared his mind to block well from Stead when the ex-Blackburn striker turned on Billy Clarke's pass.
Clarke was involved again, finding Yeates whose effort from the edge of the box was saved low by Stuart Nelson.
A double change for Gillingham included the introduction of German and he had an effort blocked by Rory McArdle from Dickenson's cross to the near post.
But City were back on the attack with substitute James Hanson hitting the post.
Gills threw on Kedwell for the last 10 minutes and he was straight into the action, seeing a header from Hessenthaler's free-kick saved after climbing well.
He also sent a volley wide from fellow substitute Jermaine McGlashan's cross.
Time was almost up when a goalmouth scramble from Dickenson's corner was finished by German.
Gillingham: Nelson, Hoyte, Chicksen, Egan, Hause (McGlashan 68mins), Legge, Hessenthaler, Loft, Dack, McDonald (German 68mins), Dickenson. Subs not used: G Morris, Linganzi, Pritchard, Norris.
Attendance: 12,434 (203 from Gillingham)