A match by match guide to City's glorious promotion campaign - which started quickly and built up steadily into a rousing finale at Wolves.

City 1, Stockport 2

The euphoria and optimism which had followed the summer spending spree which culminated in Lee Mills becoming the club's first ever £1 million signing slipped away in this dreary opening day defeat. Stuart McCall made a welcome return and Peter Beagrie scored his first goal for four years with a penalty (hands up, how many thought 'Oh no' when the City wideman stepped forward to take the spotkick). A late foul by debutant Lee Todd handed County the points.

Watford 1, City 0

A baking hot day saw the debut of record signing Isaiah Rankin, but it was not to be a fairytale start as the former Arsenal striker hit the post and squandered two great chances. Instead, Michel Ngonge popped up in the City six-yard area for a free header to seal a disappointing day for the Bantams.

City 2, Bolton 2

A game which many will recall for the way City boss Paul Jewell rounded on a Sky interviewer after the game with the quote "You a Bolton fan or something?" after he had suggested that the Bantams were lucky to get a point. The game was also a memorable one for both Rankin and Mills as they notched their first league goals for City with Mills' strike coming with just two minutes remaining to prompt joyous scenes around Valley Parade.

Crewe 2, City 1

City were dreadful in the opening 30 minutes and lucky to be only two goals behind when a Stuart McCall goal brought them back into it just before half-time. After that, it was all one-way traffic with City's finishing being reminiscent of the 1997-98 season and it was a subdued Bantams following who made the trip back from Cheshire. City slipped to second bottom of the league after this miserable defeat with some of the doom-mongers forecasting a long season of struggle.

City 2, Birmingham 1

A vastly improved performance from City saw them chalk up their first victory of the season and relieve some of the pressure which was building on Paul Jewell. Darren Moore and Lee Mills exposed the Blues' susceptibility to set-pieces with headed goals to chalk up a deserved victory against one of the early front-runners in the First Division and a side who clearly believed they were on their way back to the top flight.

Ipswich 3, City 0

Comfortably the lowest point of City's season where every mile coming back to Bradford after the game felt like about a hundred. City failed to compete and were blown away by a far superior side to such an extent that one of the London-based journalists commented to me after the game: "I feel sorry for you watching that drivel every week'. All I could do was shrug my shoulders and think that it could only get better. Which, of course, it did.

City 2, Sheffield Utd 2

Despite the game finishing level, this was a much improved display from City and a clear indication that the season may not be so much of a dead loss as the game at Ipswich had suggested. City's less than convincing defence unfortunately lived up to its reputation as one of the most generous as they gifted United a goal through Dean Saunders. However City hit back with Robbie Blake, making his first start of the season, a big influence. The afternoon was made all the more remarkable by the rather 'loud' jacket worn by skipper Stuart McCall after the game which is hard to describe without causing offence!

West Brom 0, City 2

Two goals from Lee Mills were enough to settle this affair and provide City with a much needed fillip. Shown live on Sky Television, City's previously indifferent start to the season was illustrated by only around 200 fans making the trip to the Hawthorns for the Sunday lunchtime kick-off. The Bantams were far too good for Albion although I am sure I wasn't the only one present who was worried every time the home side got the ball, such had been the poor standard of defending from City before this game. However Paul Jewell's men rose to the task superbly to keep their first clean sheet in the league.

City 2, Barnsley 1

It will take something very, very special in the future to match the delirious scenes all around Valley Parade when Gordon Watson grabbed the winner in the 89th minute. It was the last great occasion in front of a packed Kop before the builders moved in and capped an amazing game. Barnsley had deservedly been in front before Watson came off the bench with just six minutes remaining as Paul Jewell opted for all out attack with no less than four strikers finishing the game. Watson duly popped up with the equaliser with three minutes to go before amazingly grabbing the winner two minutes later and if someone could bottle that feeling among the City fans at that moment they would make a fortune. And to cap it all, it was the striker's first goals since suffering his horrific injury against Huddersfield in February 1997.

City 4, Port Vale 0

Lee Mills enjoyed a dream first game against his former club with two goals in a resounding victory. Robbie Blake also struck in his new right side of midfield role along with Darren Moore to confirm that City's season appeared to have turned the corner after a wretched start. Vale arrived with five men in midfield intent on frustrating City but it never looked like being successful while the Bantams defence kept another clean sheet.

Sunderland 0, City 0

City's most controlled display of the season frustrated Sunder-land to such an extent that callers to a post-match radio station phone-in were calling for Peter Reid to be sacked. And this because they had slipped to third in the table! The secret of City's success was simply hard work with every member of the side playing their part to the full. It was a tremendous result, a fact illustrated by the high spirits in the City camp. At the post-match press conference, Peter Beagrie had been speaking for a couple of minutes when Stuart McCall walked in and told the assembled reporters: 'I'm surprised you lads are still awake listening to him.'

City 3, Bury 0

The fine recent run continued with an emphatic victory over a Bury side who had built themselves a reputation in the opening weeks as one of the most miserly in the First Division. In fact, in their 12 games before visiting Valley Parade, they had conceded just eight goals only for City to mash that record. Gareth Whalley missed his only game of the season with a bad migraine but his replacement, Nigel Pepper, was in excellent form with the goals coming for Stuart McCall, Robbie Blake and Peter Beagrie. The victory pushed City into the top half for the first time all season.

Grimsby 2, City 0

City's mini-revival came to a sudden halt with a poor display at Cleethorpes. The rain which fell throughout the game capped a miserable afternoon by the seaside for the City fans, more than half of which had left Blundell Park long before the end of the game. All in all, an afternoon to forget.

Portsmouth 2, City 4

Doubts had started to creep in after City's poor showing at Grimsby, but these were swept away with one of the club's best performances in the opening 45 minutes which saw the Bantams 3-0 up by the break. Pompey were left chasing shadows as City's midfield took control with some superb passing and movement from Gareth Whalley and Stuart McCall. The home fans deserve a lot of credit for the way they got behind their side after the break with an almost incessant chant of 'Alan Ball's Blue and White Army' for the first 25 minutes of the second half and they were rewarded by two goals from John Aloisi. However just as a draw seemed a distinct possibility, Peter Beagrie popped up with the winner with a 25-yard shot.

City 5, Bristol City 0

Isaiah Rankin's fine form continued as he grabbed two goals - his third in three games - in this demolition of Bristol City. Robbie Blake and Lee Mills also grabbed a goal apiece while Peter Beagrie capped a superb individual display with a goal. The City wideman played some great stuff and used the ball very intelligently against a Bristol side who were still reeling from the midweek sacking of John Ward. Swede Benny Lennartsson had just taken charge and it was an afternoon where they were completely outclassed by the rampant Bantams. The Bristol fans probably thought it couldn't get any worse. Unfortunately they lost 6-1 in their next outing at home to Wolves.

Norwich 2, City 2

A game made memorable for the worst case of mistaken identity imaginable by referee Alan Butler. With City leading 2-1 thanks to strikes from Isaiah Rankin and Lee Mills and the game entering stoppage time, the ball was played into Iwan Roberts when the referee suddenly awarded a penalty to the home side. Speaking after the game, he claimed the Bradford number 5 (Darren Moore) had impeded Roberts when he wasn't within 20 yards. Instead, Andy O'Brien was the nearest challenger but there did not seem to be enough contact for a penalty. Paul Jewell rightly claimed after the game that if the incident warranted a spotkick then there should be ten penalties a game. After the furore had died down, Norwich's Neil Adams duly scored to deny City a valuable two points.

Tranmere 0, City 1

A tight game which was settled by a Peter Beagrie penalty just after half-time. The spotkick came as a result of a good move from City although I must admit I had to look twice when Darren Moore was the furthest forward. The big defender is rarely the furthest man forward and it is rarer still to find him galloping away with the ball at his feet. The Rovers keeper was probably just as surprised and duly upended Moore, although John Aldridge, with his tongue placed firmly in his cheek, said after the game: "He just did what I always used to do - go down at the slightest touch!" It was a battling display from City which illustrated they not only had the attacking skills to mount a serious promotion bid, but also the hard work ethic.

City 3, Swindon 0

City produced a stuttering display for much of a game which was transformed when Peter Beagrie slammed home a penalty after the break. Craig Taylor was sent off for handballing Mills' goalbound effort and after that, the Bantams were transformed. Nigel Pepper was only playing due to the suspension of skipper Stuart McCall but was the clear man of the match and rounded off an impressive afternoon with an unstoppable 25-yard strike which flew into the net. Wayne Jacobs also capped a fine run of form with the third goal in stoppage time.

Huddersfield 2, City 1

Just how did City manage to lose this game? The first 45 minutes saw probably the Bantams' best football of the season to date with Huddersfield lucky to get out of their own half for long periods. Unfortunately for City, Robbie Blake's goal was all they had to show for this dominance and after the break Town hit back with two goals in as many minutes. The looks of joy on the Town fans' faces was only matched by the horror in the away enclosure as events unfolded and just to add insult to injury, Darren Moore was denied in stoppage time by an amazing save from Nico Vaesen. After the game, Lee Mills then vented his fury at a linesman to earn himself a misconduct charge and it was a depressed City squad which got back on the bus all refusing to comment.

City 0, QPR 3

Rangers belied their lowly status to produce probably the most impressive away performance of the season at Valley Parade. After carefully studying City's 4-4-2 formation, Gerry Francis instructed his reserve side to adopt the Bantams' approach in training and revealed how his first team had been annihilated in the practice match. However Rangers appeared to have learnt their lesson and ran out worthy winners against a City side who failed to perform. It was the first time City had lost back-to-back matches for three months but it turned out to be a rare blip. Nevertheless, the Bantams had slipped back to tenth.

Oxford 0, City 1

The start of a nine-game unbeaten run which propelled City into the automatic promotion race. Paul Jewell responded to the defeat at home to QPR by moving Robbie Blake up front alongside Lee Mills and the pair immediately hit it off. Mills struck with the only goal and City battled hard to preserve that lead with a dogged display against an Oxford side who were not only fighting to avoid relegation, but also the threat of being wound up.

Swindon 1, City 4

The red-hot partnership of Lee Mills and Robbie Blake helped City chalk up a resounding victory. The fixtures computer had bizarrely paired these sides together just four weeks after their last meeting and yet again, a Town player was sent off. Scott Leitch was the man to see red just after the break for a dreadful lunge on Darren Moore which left the normally laid-back City defender incensed. The home fans were furious with the decision but it will be difficult to see a more deserving red card and City took full advantage with both Mills and Blake grabbing two goals apiece. Paul Jewell's men moved up to fifth but the afternoon was marred when Mills got himself needlessly sent off for kicking the ball away.

City 2, Wolves 1

Robbie Blake produced an amazing individual display to help City beat a Wolves side who only seemed to wake up in the closing stages. Blake grabbed one goal and helped create another for Lee Mills, but it was his all-round play that was so impressive that when former City defender Dean Richards, who had the onerous task of marking the was substituted 9in the second half he looked a broken man. Robbie Keane's strike gave City a few worrying moments before the final whistle sounded to push the Bantams up to their highest position of the season to date - third.

Bolton 0, City 0

A pulsating game in the freezing cold which could have gone either way with Stuart McCall going closest for City when his 25-yard drive hit a post. Bolton also had their moments, but this was one of the Bantams' most controlled displays of the season on their first ever visit to the Reebok Stadium. The new ground is certainly impressive although like all new grounds, there appears to be one road out of the car parks which leads to heavy congestion.

City 2, Tranmere 0

Yet again it was Robbie Blake and Lee Mills who struck with the vital goals to secure what turned out to be a comfortable victory against a side who were unbeaten in four games. The deadly duo's double meant that they had now scored all ten of City's previous goals to cap a memorable month since being paired together at Oxford on the first Saturday of December. In fact, in the only game of the month where the partnership was broken up, due to Mills' one-game ban against Bolton, City failed to score. Their fire-power was proving decisive.

Stockport 1, City 2

Exactly 12 months earlier, Paul Jewell had taken charge of City for the first time and led them to a surprise 2-1 victory. The scouser was only expected to stay in charge for that game as the search began for a new City manager following the sacking of Chris Kamara but a year later he was able to watch his side pick up their sixth win in seven league and cup outings. Robbie Blake again struck in the first half before a 20-yard curling effort from Peter Beagrie sealed the points after the break.

City 4, Crewe 1

City's unwanted record of not having a player who has chalked up a hat-trick since September 1995 finally perished in this resounding win. The Valley Parade pitch was a real mess with one visiting player saying it resembled a farmyard, but Lee Mills did not let that stop him grabbing only the second hat-trick of his career. Manager Paul Jewell was the last City player to score three goals in one game, but he was more than delighted to see his top scorer emulate that feat. However, he still could not resist quipping after the game "Mine were against better opposition".

Birmingham 2, City 1

What a travesty. City produced one of their most complete displays of the season only to be undone by goals in stoppage time at the end of each half. Jamie Lawrence had been in electric form before the break, scoring one goal and terrorising Blues' left back Simon Marsh to such an extent that he had to be withdrawn at half-time. Birmingham had a good ten-minute spell just after the break, but otherwise the Bantams controlled the game and should have claimed all three points. Unfortunately, the otherwise-excellent Darren Moore tugged Peter Ndlovu down inside the penalty area and Paul Furlong gleefully took advantage from the spotkick to seal a win which Blues boss Trevor Francis admitted afterwards was 'undeserved'.

City 2, Watford 0

The Bantams again showed their ability to bounce back from defeat with a comfortable victory over Watford. A fine strike by skipper Stuart McCall set City on their way before Lee Mills grabbed his 20th strike of a productive season to seal the points. After the game, Hornets boss Graham Taylor likened City's attacking options to his Watford side of the early 1980s which stormed into the top flight before finishing second behind champions Liverpool and earning a place in Europe. It was a welcome boost ahead of the vital clash with Ipswich the following Saturday.

City 0, Ipswich 0

A tight game in which Ipswich stroked the ball around well but never looked like troubling Gary Walsh in the City goal. The Bantams, in contrast, were not as fluent as in recent weeks but could take heart from the fact that the point kept City in second place. The tension throughout the second half was tangible with the worry for both sets of fans being that just one slip could have a major impact on the race for automatic promotion and in the end, both sides were content with a point.

Sheffield Utd 2, City 2

City's fluency did not return for the Sky cameras although they did play their full part in an exciting clash between two sides who were committed to attack. Robbie Blake was again the star for City with two fine equalisers to earn a point for the Bantams. Curtis Woodhouse confirmed his growing reputation with a fantastic display to eclipse the City midfield who looked a little bit jaded compared to recent weeks. Where before a City player breaking forward would be accompanied by four or five team-mates, now he was lucky to have one and it was to be hoped that City could recover their zest.

City 1, West Brom 0

The news that Peter Beagrie would miss his first game of the season was a blow with City being forced to move Wayne Jacobs on to the left wing and Lee Todd slotting into the defence. However Jacobs had impressed all season with his attacking prowess and he made the transition very well. He grabbed the only goal of a dour game after just three minutes when his deflected shot caught the Albion defence out as it ran into the net. Not quite a 'Jacob's Cracker' but good enough to seal the points.

Barnsley 0, City 1

How Tykes fans must hate the sight of Gordon Watson. After his vital late double in the clash between the two sides at Valley Parade, the former Sheffield Wednesday striker had slipped out of the Bantams side in the intervening months. However Paul Jewell put him on the bench knowing that the Reds would be wary of Watson and, lo and behold, up he popped with a superb header in the final 15 minutes to again seal all three points. City's notable ability to not play well but still win had again come up trumps.

City 0, Sunderland 1

A sell-out crowd were treated to an enthralling game which Sunderland edged with a strike from Niall Quinn. City were by far the better side in the first half with debutant Dean Windass being unlucky with three chances. However after half time it was a different story, with Sunderland controlling the game for long spells.

City 4, Norwich 1

City responded in the best possible fashion to their midweek defeat with four goals in the first half. Norwich had no answer to the Bantams' attacking formation with Darren Moore, Lee Mills and Peter Beagrie all grabbing a goal apiece. However the highlight was undoubtedly Jamie Lawrence's effort which saw him run half the length of the field before drilling a low shot under the Norwich keeper. It was so good that if it had been Ryan Giggs or David Beckham scoring a goal like that, we would never have heard the end of it.

Bristol City 2, City 3

City started the game brightly and by half-time were two goals ahead only for some sloppy play to hand the initiative back to Bristol City. Lee Mills' opener and an exquisite lob by Wayne Jacobs suggested that the home side could be in for a real beating but some dreadful marking allowed Bristol to peg City back with two free headers in the six yard box. That left the home side as clear favourites to clinch the game only for Gareth Whalley to pop up late on to grab his second goal of the season and clinch victory. The Bantams also won a penalty in stoppage time which Peter Beagrie blasted so far over the crossbar that there may be a chance it is still travelling now.

Crystal Palace 1, City 0

A wretched off day for City when a first minute header from Dean Windass apart, they never threatened the home side's goal. Palace had been forced to sell six players just three days earlier to ease their cashflow problems but they bounced back from this to seal a deserved win. Lee Sharpe came on as a second half substitute along with Robbie Blake and although they improved City's play, neither looked capable of opening up a dogged Palace backline and it was a disappointed 800 or so Bantams fans who made the long trip north.

City 3, Grimsby 0

It is hard to imagine a more flattering scoreline than this three-goal victory for the Bantams. City went ahead early on through Robbie Blake but played with the distinct look of a side suffering from promotion jitters. Grimsby played by far the more constructive football only for the City defence to hold firm and repel all attacks. City's nerves were calmed with 15 minutes remaining with a goal from Lee Sharpe which saw the former Leeds man mishit a shot which trickled over the line. Manager Paul Jewell joked about how the ball had nearly burst net after the game but the fans did not care.. Peter Beagrie wrapped up the points late on.

Bury 0, City 2

Dean Windass struck twice in the first half to seal a valuable victory for City against a Bury side who looked devoid of not only confidence, but also footballing ability. The former Oxford man was preferred to Robbie Blake due to the physical approach of the Shakers and the tactic paid off with Windass grabbing two headed goals. The second half was a slow affair with the 4,000 City fans taunting former Huddersfield boss Neil Warnock.

City 2, Portsmouth 1

Yet more promotion jitters as struggling Portsmouth made City sweat hard for victory. Lee Mills and Lee Sharpe grabbed first half goals to give City a 2-0 lead which their performance had not deserved but even that could not help the Bantams settle down. John Durnin struck midway through the second half to ensure a frantic finale with 13,000 fans inside Valley Parade very relieved to hear the final whistle blown.

Port Vale 1, City 1

A frustrating evening for City who, after battling back from conceding an early goal, just could not grab the vital winning goal. Dean Windass and Stuart McCall both went very close while Lee Sharpe was unlucky to see his shot cleared off the line by Paul Beesley after he had rounded the keeper. Several City players had an off night, but the Bantams had far too much quality for a Vale side who spent almost the whole final half-hour under siege in their own half. The 2,500 travelling fans offered tremendous vocal support but it just wasn't meant to be.

City 2, Huddersfield 3

The nightmare of every City fan came true when derby rivals Huddersfield threw the formbook out of the window to seal an unlikely victory. City had gone ahead through Robbie Blake and looked to be in firm control until some dreadful defending handed Town a 3-1 lead. The dismissal of Steve Jenkins just before half-time gave City a much-needed boost and they laid siege to the visitors' goal for most of the second half. Dean Windass pulled a goal back before the awarding of a penalty with just 11 minutes remaining suggested City might even pull off a victory. However Nico Vaesen thought otherwise and pulled off a magnificent save from Windass' fierce spotkick to leave the City faithful to troop out of Valley Parade disconsolately at the final whistle.

QPR 1, City 3

The promotion picture was transformed on an amazing afternoon thanks to City's fine win and Ipswich's unexpected defeat at home to bottom club Crewe. The Bantams went ahead thanks to goals from Peter Beagrie and Ashley Westwood before the fans in the visitors' enclosure went wild with delight after radio reports that Crewe had gone ahead. Ipswich later equalised and when it was confirmed that Crewe had had a man sent off, most City fans were hoping they could hold on. Unbelievably, Crewe snatched a winning goal just six minutes from time to prompt more joyous scenes in the away end before Gordon Watson sealed the points in stoppage time.

City 0, Oxford Utd 0

An afternoon where City's nerves were all too apparent as struggling Oxford put up such a convincing fight that they deserved to take all three points. The U's belied their lowly status with some fine attacking moves while, in contrast, City looked jaded and sluggish. Despite this, Stuart McCall had a superb chance to grab the winner in stoppage time only for his header from six yards to pass inches over the crossbar. City fans were dejected leaving the ground but their spirits were raised just 24 hours later when Ipswich lost at Birmingham. And that meant victory at Wolves would seal promotion.

Wolves 2, City 3

What an amazing game. City went behind early on and that misery was compounded when news filtered through that Ipswich were ahead. As that stood, the Bantams were in the play-offs but a fine fightback which included goals from Lee Mills, Robbie Blake and Peter Beagrie gave City a 3-1 lead. However the drama was not over as Beagrie missed a penalty and then Paul Simpson pulled a goal back for Wolves. That set up a heart-stopping final ten minutes which included a free-kick from Simpson which struck the inside of the post before rebounding to safety. It was a lucky escape but that did not matter one jot once the final whistle sounded to signal fantastic scenes around Molineux. What a great way to cap a memorable season.

By Richard Sutcliffe

Converted for the new archive on 30 June 2000. Some images and formatting may have been lost in the conversion.