Daniel Nardiello's dramatic stoppage-time equaliser earned promotion-chasing Rotherham a point against York.
In the first-half, Minstermen striker Jason Walker had a glorious opportunity to break the deadlock, but fired over when clean through on goal.
The visitors eventually made the breakthrough after the break when Matty Blair rounded the keeper to score.
But in the third minute of injury-time, Nardiello turned in substitute Ben Pringle's cross to claim a vital point.
VIEWS FROM THE DRESSING ROOM
Rotherham United manager Steve Evans told BBC Radio Sheffield:
"I think at the end of it when you analyse it all we're disappointed. We've had a chance to win a game at home and we've not done it.
"I think our performance, if I'm honest, is a notch down from where it's been.
"We certainly didn't deserve to lose this game and we probably did enough over the 90 to win."
York City manager Gary Mills told BBC Radio York:
"I thought we worked very hard at Oxford on Saturday, we surpassed that tonight.
"I thought our shape, our discipline our desire tonight, our quality, was excellent.
"It's a draw away from home again. Maybe we would have taken that before we came but I thought we were a different class to Rotherham tonight."
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +2:55
The assist for the goal came from Ben Pringle.90:00 +2:55 Goal scored
Goal! - Daniel Nardiello - Rotherham 1 - 1 York Daniel Nardiello grabs a goal from inside the six-yard box to the bottom left corner of the goal. Rotherham 1-1 York.90:00 +0:33 Substitution
Substitution Michael Rankine comes on in place of Jason Walker.89:47
The official flags Jordan Slew offside. Michael Ingham restarts play with the free kick.88:53
Foul by Kayode Odejayi on Chris Smith, free kick awarded. Michael Ingham takes the free kick.87:04
Shot from outside the penalty box by Lee Frecklington goes wide right of the goal.86:08
Andy Warrington takes the free kick.86:08 Substitution
Substitution Patrick McLaughlin joins the action as a substitute, replacing Ashley Chambers.86:08
The referee blows for offside against Jason Walker.84:55
Daniel Nardiello takes a shot. Michael Ingham makes a comfortable save.83:24
Foul by Mark Bradley on Ashley Chambers, free kick awarded. John McGrath takes the direct free kick.81:25
Corner taken by Ben Pringle.80:12
Indirect free kick taken by Andy Warrington.80:12 Substitution
Substitution Lee Bullock comes on in place of Alex Rodman.80:12
The official flags Jason Walker offside.79:48
Handball decision goes against Alex Rodman. Andy Warrington restarts play with the free kick.78:52
Foul by Ben Pringle on Chris Smith, free kick awarded. Free kick taken by Michael Ingham.77:17
Kayode Odejayi takes a shot. Save by Michael Ingham.76:53
Unfair challenge on Kari Arnason by Jason Walker results in a free kick. Free kick taken by Kari Arnason.
Free kick awarded for a foul by Daniel Nardiello on Chris Smith. Michael Ingham takes the free kick.75:15
Lee Frecklington produces a right-footed shot from deep inside the penalty area which goes wide of the right-hand post.74:04
Inswinging corner taken by John McGrath from the right by-line, Andy Warrington makes a clearance.72:03
Michael Ingham takes the indirect free kick.72:03 Substitution
Substitution Ben Pringle comes on in place of David Noble.72:03 Substitution
Substitution Jordan Slew replaces Alex Revell.72:03
Daniel Nardiello is flagged offside by the assistant referee.70:57
Jason Walker is ruled offside. Andy Warrington takes the direct free kick.67:44
The referee penalises Lee Frecklington for handball. Michael Ingham takes the direct free kick.66:47
Free kick awarded for an unfair challenge on Lee Frecklington by John McGrath. Free kick taken by Andy Warrington.65:13 Substitution
Substitution Kayode Odejayi is brought on as a substitute for Kieran Agard.64:39
Corner taken right-footed by David Noble from the right by-line, Kari Arnason takes a shot. Michael Ingham makes a comfortable save.63:43
David Noble takes the free kick.63:43 Booking
Booking Caution for Jack O'Connell.63:27
Jack O'Connell challenges Kieran Agard unfairly and gives away a free kick.62:04
The assist for the goal came from Scott Kerr.62:04 Goal scored
Goal! - Matty Blair - Rotherham 0 - 1 York Matty Blair gets on the score sheet with a goal from deep inside the penalty box to the bottom left corner of the goal. Rotherham 0-1 York.56:29
Matty Blair takes a shot. Andy Warrington makes a fantastic save.55:17
Corner taken right-footed by David Noble from the right by-line, Headed effort from deep inside the penalty area by Johnny Mullins misses to the left of the goal.54:39
Effort on goal by Alex Revell from inside the penalty box misses to the right of the target.50:50
Inswinging corner taken left-footed by John McGrath.49:57
Alex Revell gives away a free kick for an unfair challenge on Scott Kerr. Direct free kick taken by Michael Ingham.49:04
Inswinging corner taken right-footed by David Noble, clearance made by Matty Blair.45:01
The game restarts for the second half.45:00 +2:02 Half time
Half Time The half-time whistle blows.45:00 +0:08
Effort on goal by Daniel Nardiello from inside the area goes harmlessly over the bar.41:38
Inswinging corner taken from the left by-line by David Noble, save by Michael Ingham.41:25 Booking
Booking Michael Ingham goes into the book.39:48
Foul by Jack O'Connell on Daniel Nardiello, free kick awarded. Shot comes in from David Noble from the free kick, save made by Michael Ingham.36:46
The ball is delivered by Lee Frecklington.35:48
Foul by Alex Revell on Chris Smith, free kick awarded. Michael Ingham takes the free kick.35:20
A cross is delivered by Matty Blair.33:35
The referee blows for offside. Michael Ingham takes the direct free kick.33:04
Free kick awarded for an unfair challenge on Jason Walker by Mark Bradley. Scott Kerr takes the direct free kick.32:41
Corner taken by David Noble from the right by-line played to the near post, clearance made by John McGrath.32:05
Mark Bradley restarts play with the free kick.32:05 Booking
Booking Matty Blair is cautioned.31:45
Matty Blair concedes a free kick for a foul on Mark Bradley.30:55
Unfair challenge on Daniel Parslow by Daniel Nardiello results in a free kick. Free kick taken by Jack O'Connell.30:02
Jason Walker takes the chance to get an effort at goal.28:56
Alex Revell fouled by Chris Smith, the ref awards a free kick. Free kick crossed right-footed by David Noble, Daniel Parslow makes a clearance.27:36
Claude Davis challenges Alex Rodman unfairly and gives away a free kick. The free kick is swung in left-footed by John McGrath, save by Andy Warrington.25:58
Lee Frecklington produces a right-footed shot from just outside the box that goes wide left of the target.24:45
Free kick taken by David Noble.24:45 Booking
Booking Booking for Lanre Oyebanjo.24:19
Lanre Oyebanjo concedes a free kick for a foul on Kieran Agard.22:29
David Noble fouled by Lanre Oyebanjo, the ref awards a free kick. Direct free kick taken by Andy Warrington.21:32
Unfair challenge on Daniel Parslow by Lee Frecklington results in a free kick. Michael Ingham takes the free kick.20:00
Unfair challenge on Jason Walker by Mark Bradley results in a free kick. Michael Ingham takes the free kick.17:52
David Noble gives away a free kick for an unfair challenge on Lanre Oyebanjo. Michael Ingham takes the free kick.15:35
Jason Walker is ruled offside. Andy Warrington takes the free kick.14:13
Kari Arnason takes has a header from just inside the penalty box which clears the crossbar.12:45
Free kick awarded for an unfair challenge on Daniel Parslow by Alex Revell. Jack O'Connell takes the direct free kick.10:59
John McGrath takes the inswinging corner, Claude Davis manages to make a clearance.10:41
Volleyed left-footed shot by John McGrath. Blocked by Kari Arnason.9:34
The referee blows for offside. Free kick taken by Michael Ingham.8:08
Kari Arnason gives away a free kick for an unfair challenge on John McGrath. Jason Walker delivers the ball from the free kick right-footed from left wing, save made by Andy Warrington.5:22
The offside flag is raised against Jason Walker. Andy Warrington restarts play with the free kick.4:44
Ashley Chambers takes a shot. Andy Warrington makes a save.0:33
Claude Davis challenges Jason Walker unfairly and gives away a free kick. John McGrath delivers the ball from the free kick left-footed from right channel, clearance made by Claude Davis.0:00
The game begins.
Live data and text provided by our data suppliers