Leeds United 0 Doncaster Rovers 1
Leeds manager Dennis Wise sprang a surprise by demoting David Prutton to the bench and giving former Northampton Town midfielder Bradley Johnson his full debut.
Meanwhile, Doncaster were unchanged after losing only one of their previous 17 games.
It was the first league meeting between the sides for 52 years and Doncaster dominated almost from start to finish.
In a fiery start, referee Steve Tanner lectured Johnson and Jason Price for wrestling straight from the kick-off and Leeds striker Jermaine Beckford was livid when Gareth Roberts lunged at him in an off-the-ball incident which went unpunished.
Darren Kenton's superbly-timed tackle denied James Coppinger a shooting chance 15 yards out after the Doncaster winger was put through by Price, who then flashed another warning by shooting into the side-netting.
Leeds' luck ran out in the 21st minute when Paul Huntington brought down Richie Wellens just outside the penalty box and Stock's curling free-kick found the net before Casper Ankergren could flinch.
Beckford almost produced a quick equaliser but his sweetly struck volley was well saved by Neil Sullivan on his first game back at Elland Road since being shown the door last summer.
Referee Tanner, who had shown surprising leniency, finally showed yellow cards to Stock and Neil Kilkenny in separate incidents.
Leeds struggled to create openings for Beckford and Tore Andre Flo as the Rovers midfield and defence grafted tirelessly.
Leeds replaced the injured Kenton with Matt Heath who started the second half and Tresor Kandol came on for Flo nine minutes into the second half, but Rovers continued to boss the midfield and Ankergren's scrambled save prevented Coppinger from grabbing Rovers' second goal.