Both sides crossed three times – Joe Batchelor (2) and Kieren Moss for York, Bradford replying via Ashley Gibson, Elliot Minchella and Steve Cossley – but it was the five goals from Joe Keyes which proved the difference for the Bulls.
Knights’ Connor Robinson kicked three goals, and two drop goals, but York just fell short.
Hunslet cruised to a 28-14 win at Hemel Stags. Dee Foggin-Johnston, Joel Gibson, George Flanagan, Duane Straugheir, Jack Lee went over for Hunslet’s tries, Cain Southernwood adding four goals.
Andy Gabriel grabbed two tries as Keighley Cougars beat Workington Town 44-34.
Harry Aaronson, Matthew Bailey, Josh Lynam, Matty Beharrell and Benn Hardcastle – who kicked eight goals – also crossed for the hosts.
Four-try Hakim Miloudi helped Doncaster power to a 70-10 win over Coventry Bears.
Russ Spiers, Liam Harris and Jason Tali each chipped in with two tries, with Brad England and Zac Braham also crossing. Jack Miller added three conversions, Miloudi adding eight.