Ashton suffered a head injury in the 15th minute but City boss Nigel Worthington decided to let him stay on for the full game.
Ashton had the chance to rescue a point for the Canaries in the last minute but unfortunately his spot kick went the wrong side of Marcus Hahneman's right-hand post.
The penalty itself was only awarded after referee Kettle changed his decision after consulting an assistant. His immediate reaction had been to book Calum Davenport for diving. The delay may have upset Ashton or he may still have been suffering the affects of the head injury.
The Royals kicked off attacking the River End goal and forced two early corners before the home side took over but failed to get in a telling cross or shot.
Then came the injury to Ashton. Former Royal Andrew Hughes did get in a decent cross but Ashton collided with Graeme Murty and received extensive treatment before declaring himself fit to continue.
Robert Green saved well from Glen Little on the half-hour but for the rest of the first period neither side was able to fashion a decent chance.
Three minutes into the second half Paul McVeigh did find space as he ran at the Reading defence, but curled his shot over the bar.
At the other end Green did well to prevent an own goal when he coolly controlled and cleared a dangerous back-pass. Kevin Lisbie did get a shot on goal but it was deflected for a corner.
The goal came on the hour when Kevin Doyle hustled his way past Davenport and when the ball broke kindly to James Harper he beat Green low to his left with a firm drive from 14 yards.
In the closing stages substitute Darren Huckerby's free-kick was headed goalwards by the unlucky Ashton but cleared off the line by Ibrahim Sonko.
Then came the dramatic finale with Mr Kettle first brandishing a yellow card then awarding the penalty. Ashton grabbed the ball but failed to salvage a point for the Canaries when he fired inches wide.