Glenn Murray had the game's first chance as he flashed over the Norwich bar following Oliver Norwood's corner, before City's Cameron Jerome was wasteful from the centre of the box after being picked out by Martin Olsson.
Murray appeared to be Reading's most effective player in the opening half and he soon forced a standout save from John Ruddy, who flew towards his top-right corner to keep out the striker's effort from distance.
The game swung in the hosts' favour in the 23rd minute as Bradley Johnson brought down Michael Hector inside the box, leaving Robson-Kanu to fire straight down the middle from the spot to put his side into a 1-0 lead.
Norwich missed a fine chance to pull level on the 30-minute mark, but somehow Jerome scuffed his effort wide, despite being a matter of yards from goal after some selfless work from Steven Whittaker.
The miss was to prove costly as it allowed Reading to double their advantage in the 34th minute, with Cox finishing coolly after being picked out by Murray's cross.
The second half began in tepid form and it took until the 67th minute for either side to register anything of note, as Murray shot straight at Ruddy having been played into the right channel of the box by Garath McCleary.
Johnson did his best to atone for his mistake in the first half and gave Norwich a lifeline when he was slipped the ball by Gary Hooper, before smashing home an effort into the top-right corner of Adam Federici's net.
Substitute Danny Guthrie might have settled any Reading nerves late on when he was found by the impressive Norwood, but the former Newcastle United midfielder could not find the target from six yards out.