Goals either side of half-time were enough to give Port Vale all three points in this top of the table clash.
Vale striker Stephen Brooker created both the visitors' goals although the crucial first was clouded in controversy.
Referee Mr Leake looked for all the world like he was going to give a free-kick to City when Ben Muirhead was pushed in the back.
The official put his whistle to his lips, but allowed play to continue. Brooker's cross then found his strike partner Billy Paynter and his shot deflected off Wayne Jacobs and looped into the net.
Despite the protests from the home players the goal stood.
In truth Vale deserved a lead. They could have been in front in the opening ten minutes when a Craig James' free-kick flashed just wide.
Gradually the home side fought their way into the game, top scorer Dean Windass missed a good chance slicing his shot wide after a slick one-touch move.
Midfielder Tom Kearney was the next to be wasteful in front of goal missing the target after being set up by Windass.
Just five minutes before the break Vale had the all-important lead and five minutes into the second half they made it two. As Bradford pushed forward looking for the equaliser they were caught on the break.
Brooker sped down the left and his low cross was turned in by Jeff Smith from close range. The visitors were happy to sit back and defend their lead and tried to catch Bradford on the break again.
The home side huffed and puffed but never really threatened Mark Goodlad's goal.
Then Muirhead missed Bradford's best chance firing wide with just the keeper to beat.
Windass had a header cleared off the line and despite Colin Todd throwing on an extra striker, Bradford failed to score for the first time this season.