Port Vale were denied a third win in succession by Andrew Davies' stoppage-time equaliser for Bradford City.
Vale went in front through Louis Dodds' superb 15-yard left-footed volley, the midfielder connecting sweetly with Sean Rigg's left-wing cross.
But the home side equalised when Davies headed in Deane Smalley's 95th-minute corner from close range.
There was still time for City to steal a win but substitute Nahki Wells was unable to convert when through on goal.
VIEWS FROM THE DRESSING ROOM
Port Vale manager Micky Adams told BBC Radio Stoke:
"It feels like a defeat really. We've played ever so well and thoroughly deserved to win the game, but a mistake at the end has cost us.
"Everybody saw the mistake, but he (goalkeeper Stuart Tomlinson) kept us in the game in the first half with one save.
"That's the life of a goalkeeper unfortunately. You make great saves but unfortunately it's his mistake that's cost us three points.
"It was a very competitive game but we stood up to the test."
Bradford City 01 McLaughlin 03 Fry (Ramsden - 79' ) 06 Oliver 36 Seip Booked 38 Davies 08 Jones Booked 11 Smalley 14 Ravenhill 32 Reid 09 Hanson (Atkinson - 14' ) 10 Hannah (Wells - 56' ) Substitutes 34 Duke 02 Ramsden 04 Flynn 30 Atkinson 21 Wells Port Vale 12 Tomlinson 02 Yates 05 McCombe 07 Loft 25 McDonald 04 Griffith 08 Dodds 17 Rigg 18 Morsy 09 Richards 19 Williamson (Owen - 90' ) Substitutes 01 Martin 06 Owen 14 Marshall 20 Shuker 21 James