The atmosphere on the pitch soon warmed up, with local bragging rights on the line tempers flared and the game soon became a feisty encounter.
A total of six cards were brandished throughout the match, spread between the sides, the officials kept busy throughout.
Keighley took advantage of early field position after playing the first eight minutes with their backs against the wall, as a bullet pass enabled Barnes to dive through a gap and over the line to open to scoring.
Bradford fought back immediately with Alex Brown, after fast passing down the left edge pulled his opposing winger in, allowing Lee Smith to fire a perfectly timed pass to the left flank and Brown to stroll in the corner.
Bradford took control again just ten minutes later, Ethan Ryan’s fantastic offload gave Brandon Pickersgill enough room to dash for the line and touch down under the sticks to give the Bulls the lead.
Yet Keighley hit back just before the break, taking advantage of positive field position after being awarded a penalty once more. A bullet pass from dummy half created space for the attacker to charge through the line and level up the scores.
At the break, the scores were locked at ten-apiece with the game firmly in the balance. A big effort was needed from either side to grab the win.
A pumped-up Ross Peltier lay a huge hit on his former side, forcing the ball loose, giving the Bulls great field position, setting up Liam Johnson for his first try in the Red Amber and Black strip.
Johnson took full advantage of the space after latching onto Joe Keyes’ pass and with his eyes on the in-goal area, the forward would not be stopped as he charged to the line.
The game picked up the pace as the second half went on, with tries for both sides in quick succession, Elliot Minchella hitting back after Keighley drew level.
Johnson put forward his claim for man of the match with his second try of the afternoon, darting through after a number of smart passes allowed him to cross for four points.
Keighley put the pressure on Bradford towards the end of the game but could only grab a consolation try as the hooter blew for full-time.
BRADFORD BULLS: Ryan, Brown, Smith, Burnett, Grant, Keyes, Pickersgill, Andrade, Hallas, Wood, Hodgson, King, Milton.
Interchanges: McNally, Rickett, Minchella, Crossley, Halafihi, Peltier, Garside, Johnson, Kirk, Butterworth, Bustin.
GOALS: Keyes 4/5
TRIES: Brown (10’), Pickersgill (24’), Johnson (42’, 60’), Minchella (58’)
KEIGHLEY COUGARS: Hawkyard, Aaronson, Barnes, Ryder, Gabriel, Hardcastle, Beharrell, Bailey, Conroy, Tahaouri, Lynam, Tonks, Emmett.
Interchanges: Wright, Hallas, Law, Rawlins, Fairhurst, Senior, Parker, Nicholson, Gaylor, Lumb.
GOALS: Hardcastle – 2/4
TRIES: Barnes (8’, 36’), Aaronson (52), Gabriel (80’)