Reading won for the first time under Steve Clarke to dent Norwich City’s play-off hopes.
The hosts went in front when Hal Robson-Kanu slotted home from the penalty spot after Bradley Johnson was adjudged to have fouled Michael Hector in the area.
Simon Cox made it 2-0 before half-time when he converted Glenn Murray’s cross.
Johnson pulled one back for the visitors with a fine strike but the hosts held out.
Clarke replaced the sacked Nigel Adkins earlier this month but had taken just one point from his first two matches as Royals boss.
Reading had won just one of their previous seven matches and could have fallen behind when Gary Hooper blazed over for the Canaries.
Murray forced a good save from Norwich keeper John Ruddy before Hector went down in the box under Johnson’s challenge and Robson-Kanu stepped up to send Ruddy the wrong way from the spot.
Cox doubled the home side’s advantage nine minutes later when he controlled a Murray cross before firing in a crisp shot.
Cameron Jerome almost connected with a low Jonny Howson cross to pull one back before Johnson hit a controversial goal for the visitors.
Reading winger Garath McCleary left the pitch injured but referee James Linington restarted play without allowing Reading to replace him and, with the hosts temporarily reduced to 10 men, Johnson lashed home a superb 20-yard shot.
The Royals had blown a two-goal lead to draw 2-2 with Brighton on Friday but held out on this occasion to move nine points clear of relegation danger.