Ben Blackmore’s late try relegated Keighley to Championship One as Featherstone secured their place in the top two.
Cougars were the first to put points on the board. Danny Jones opting to kick the two from a penalty.
However, that goal then gave Featherstone their first chance to score after Andy Shickell knocked on the kick-off.
It was a chance that Rovers took, as Ian Hardman went in untouched at the corner.
Gareth Moore slotted over the conversion from the touchline to give the visitors a 6-2 lead.
The home side hit-back on the back of a penalty.
Half-backs Paul Handforth and Jones combined to send through James Craven.
Jones converted to regain the lead for Keighley.
It was not long after, though, that Featherstone were back in. Will Sharp cut back inside through Danny Lawton before touching down.
Moore once again adding the extras.
Cougars then levelled it before the break. Elliot Cosgrove squeezed his way over the line on the left edge for the try to make it 12 apiece going into the sheds.
Moore then added a penalty goal five minutes after the break before Keighley had their best spell of the match.
Jones chipped a kick which Paul White latched onto just before the ball had fallen into touch, a try which the stand-off converted.
The Welsh international then sent in Shickell charging over the line and a play-off place looked to be in sight after Jones converted.
However, Andy Kain’s precise grubber kick was pounced on by Shaun Pick and Jason Crookes’s crossed to see the visitors trail by two.
And Cougars just could not hang on as Blackmore went in at the corner to send them down.
Keighley Cougars: Craven; Williams, Lawton, Haley, White; Jones, Handforth; Shickell, Feather, Hesketh, Lynam, Lindsay, Sheriffe. Substitutes: Cosgrove, March, Law, Cherryholme.
Featherstone Rovers: Sharp; Blackmore, Worthington, Hardman, Crookes; Kain, Moore; Crossley, Ellis, Trout, Pick, Spears, Lockwood. Substitutes: Bussey, Hirst, James, Teasdale.
Referee: J Cobb (RFL).