Battling Bradford Bulls recovered from their heavy home defeat against Catalan Dragons to bag their first win of the new Stobart Super League season.
The visitors defended magnificently throughout and took their limited chances to inflict Castleford Tigers’ first defeat under new coach Ian Millward.
The Tigers, looking to build on their opening victory at Salford City Reds, dominated for long periods in heavy conditions but were unable to make it count.
Scrum-half Luke Gale was a key contributor for the Bulls. He impressed with his kicking game, set up an early try and landed four goals.
Josh Griffin, Lee Mitchell and Steve Nash made their home debuts for Castleford who fielded the team that won 24-10 at Salford.
Elliott Whitehead made his first Bradford appearance this year after completing a five-match suspension for biting. He replaced the injured John Bateman in the second row.
The Tigers were the first to threaten but they wasted an excellent attacking position when Adam Milner's kick was too strong and the ball went dead.
Castleford then did well to survive a spell of sustained Bradford pressure.
Whitehead was foiled by Richard Owen's try-saving tackle and Adrian Purtell was halted inches close to the line after chasing his own kick.
The Bulls continued to make the running as the Tigers had difficulty holding onto the ball in the slippy conditions.
Bradford took a ninth-minute lead when Luke Gale's high kick was collected by Brett Kearney who put in Jarrod Sammut for a try that Gale converted.
Castleford rallied strongly. Milner going close to scoring from Rangi Chase's kick before Stuart Jones and Chase were tackled just short.
Whitehead then intercepted Danny Orr's pass 15 yards from his own try line to relieve further pressure on the Bulls.
With Chase pulling the strings, the Tigers were soon pressing again and Jason Crooks did well to smother a dangerous kick in his own in-goal area.
James Donaldson and Whitehead made strong runs to set up a rare Bradford attack which fizzled out when Owen gathered Elliot Kear's kick.
The Tigers then had several more chances but were unable to snap them up and they were punished shortly before the interval when the Bulls doubled their lead.
Jamie Langley sent substitute Tom Burgess plunging over from close range and Gale converted to put the visitors 12-0 up at the break.
Bradford had a let off early in the second half when Tigers prop Nathan Massey lost the ball after making a powerful run.
But the Tigers finally opened their account 10 minutes into the half when they capitalised after Gale failed to find touch from a penalty.
Chase, with a clever delayed pass, Owen and Ryan McGoldrick made the opening for Griffin to score near the corner and Kirk Dixon kicked a difficult conversion to reduce the deficit to six points.
The Bulls nearly scored five minutes later but Castleford's cover got across to bundle Crooks into touch at the corner.
Brett Ferres was stopped just short when play switched to the other end in a game that had suddenly sprung to life.
Bradford substitute Heath L'Estrange was sin-binned for holding down in the 56th minute before Castleford went close again when Griffin was unable to catch Chase's kick when a try looked certain.
Gale edged the Bulls further ahead with a 66th-minute penalty after Castleford's Jake Emmitt was sin-binned.
The Bulls sealed victory three minutes from time when Kearney darted over from a scrum 15 yards out and Gale tagged on the goal.
Owen's late try and Dixon's second goal came too late to rescue the Tigers.