With promotion already assured, Royals needed to win their remaining two games and hope that Middlesbrough slipped up.

But Martin Kuhl’s youngsters saw their seven-match winning run ended at Molineux, which means they finished second in the table.

Craig Tanner – back in the side after completing his loan spell at AFC Wimbledon – got Reading off to the perfect start when he finished off a swift counter-attack in the 10th minute.

Wolves had a free-kick in a dangerous position but Stuart Moore punched clear to launch an attack and Aaron Kuhl found Tanner, who made no mistake as he dribbled into the box and slotted home.

Kuhl went close to doubling the lead three minutes later when his volley went narrowly wide, but Wolves gradually came into the contest.

Zeli Ismail was the standout Wolves player and he forced Moore into a smart save midway through the half.

He was then involved again when Wolves struck level in the 39th minute as Ismail’s cross was turned home by Jordan Graham.

The hosts were boosted by the equaliser and Connor Hunte and Ismail both went close before the break, but it remained 1-1.

Reading knew they needed all three points to maintain their title challenge and Tariqe Fosu was a constant nuisance for the home defence.

Fosu – fresh from his superb performance for the first team at Derby – was denied the chance to get a shot on target moments into the second half when Aaron Simpson made a superb recovering tackle.

Aaron Tshibola was also back in the squad after playing his part in Hartlepool’s great escape in League Two and he powered a header against the crossbar as Royals continued to press.

Fosu forced a fine save out of Jon Flatt in the home goal late on before Wolves snatched an unlikely victory in the fourth minute of added time.

Ryan Rainey’s cross was met by the head of Graham to nod past Moore and seal victory for Wolves, ending Reading’s hopes of winning the title.

Martin Kuhl’s men now entertain West Brom at the Madejski Stadium on Friday (7pm) in their final game of the season. Entry to the contest is free.