This National League One clash was everything a top-of-the table match should be, and Rosslyn Park left Castle Park with their heads held high despite a 24-17 defeat.
They competed on equal terms with the league leaders – the only full-time professionals in the division – right up to the very last moment, and with the rub of the green the result could easily have gone the other way.
Doncaster held most of the early possession but Park’s tigerish tackling kept them at bay.
The visitors suffered a serious early blow when flanker Ben Lonergan had to be helped from the pitch after only six minutes.
The home side got first blood, an interception allowing flanker Lucas Guillame, on loan from Leicester Tigers, to sprint over after just 15 minutes in a Doncaster shirt. Fly half Paul Roberts converted for 7-0.
Park fought their way back into it, immediately forcing a penalty.
Helping hand: Darrel Ball wins the lineout despite ‘help’ from opponents
Fly half Scott Sneddon’s long range attempt narrowly missed, but he was on target two minutes later to peg the scores back to 7-3.
Both sides looked dangerous with ball in hand, putting together some fine moves, but the defences were equally sound.
It was Park who blinked next with Doncaster gaining the ball from a Park line-out for centre Bevon Armitage to sprint through and place the ball under the posts.
In the context of the match it was a soft try, Roberts’ conversion a formality for 14-3 on 21 minutes.
Park showed they had not given up on the match as their pack mangled a Doncaster scrummage.
The home side then forced a penalty, missed by Roberts, only for Sneddon to return the compliment the other end.
It was real ding-dong stuff, with Park gaining encouragement just before the interval when home back row man Adam Kettle resorted to extra-legal means to stop a Park drive and was yellow carded for a professional foul.
Rosslyn Park made a storming start to the second half with a move that ripped apart the home defence for replacement flanker Harry Broadbent to run through a despairing tackle to score by the posts.
Sneddon added the extras to peg the score back to 14-10 after only 3 minutes of the second period.
Park were now looking like gaining the upper hand but Doncaster forced their way back to gain a penalty that Roberts missed.
It was end to end, the home side nearly scoring in the corner, only for Park to launch a lethal counter-attack that saw full-back Peter Hodgkinson sprint away to score on 61 minutes.
Sneddon nailed the conversion for a 17-14 lead, and an upset was on the cards with only 19 minutes remaining.
Bang: Harry Broadbent breaks the Knights line to score for Rosslyn Park
Doncaster launched a massive response that saw Park lock James Inglis binned for a professional foul, and replacement fly half Jamie Lennard slotted over the penalty to extract the full price and being the score back level at 17-17 with 12 minutes remaining.
Battling on initially a man short, Park could not have given more and it was a heart breaker for them when home winger Tyson Lewis flew in for a super try with less than two minutes left, Lennard converting.
Still Park did not give up and threw everything into a massive last minute assault on the Doncaster right corner.
The home side conceded three penalties and a yellow card in holding them out, but just as a penalty try looked on the cards it was Park who incurred the penalty.
Doncaster gratefully hoofed the ball out of the ground to claim victory and end a really superb game of rugby that was a credit to two fine teams.
Park: Hodgkinson; Cole, Broughton, Staff, Vincent; Sneddon; Gash; Liffchak, Bellamy (Clark), McKenzie (Lundberg); Inglis, Bowley; Ball, Lonergan (Broadbent), Ellis.
Subs (not playing): Heeks, Mackey
Trickster: Harry Broadbent tries to give his opponent the slip
Clearing up: Jack Gash in possession for Park
Held up: Scott Sneddon is temporarily detained near the Doncaster line