A late strike from Yann Kermorgant handed the Royals their first away win of the season, deservedly picking up three points in Cardiff this afternoon.
Ali Al Habsi had to made two tidy first half saves from Jazz Richards and Anthony Pilkington, while Roy Beerens had a shot cleared off the line in the second half, but Reading's dominance and possession frustrated the home side - and it told when Kermorgant latched onto Obita's cross from the left and drilled home from 12 yards out in the 89th minute.
Manager Jaap Stam handed a debut to new signing Tyler Blackett as well as giving Liam Moore a league bow in Royals colours, whilst Joey Van den Berg also returned from suspension to take up a position in midfield.
The first chance of the game fell the visitors' way - Garath McCleary weaving his way down the right before feeding the overlapping Gunter. He pulled the ball back from the byline but Lee Peltier slid in a the last second to deny Yann Kermorgant a clean strike at goal.
And the Royals pressed well in the opening throes - Beerens was fouled by Peltier as he scurried towards the edge of the area, then McCleary lofted a lovely cross to the far post but not before the ball had rolled an inch out of play for a goal kick.
But Ali Al Habsi was the goalkeeper to make the first save of the afternoon, leaping to his left to push a fearsome drive from Jazz Richards wide of his goal and behind for a corner kick.
With 16 minutes played, Lex Immers came close to opening the scoring, heading just over from Anthony Pilkington's pinpoint cross from the left. And then Pilkington struck a shot of his own from 20 yards out, this time Al Habsi down low to his left to push wide.
On the half hour mark, Roy Beerens spearheaded a counter attack that saw the Dutch winger chase after a threaded Evans ball forward in behind the City back line, but Peltier appeared to pull the fleet-footed forward back - nothing was awarded against the defender who was replaced by Bruno Ecuele Manga shortly after.
Tyler Blackett won a corner on the left which McCleary swung into the box and the ball fell to the feet of Kermorgant, whose drilled effort ricocheted off one of a number of bodies in the box before it could trouble Ben Wilson.
Immers went close again with a close range header, connecting with a good delivery from Gunnarsson out on the left but nodding over. But the game would remain goalless going into the break.
Half-time: Cardiff City 0-0 Reading
Cardiff carved out the first chance of the second half when Joe Ralls was played in, but Chris Gunter slid in well to get enough of a deflection in it to take it wide of the left upright. Whittingham's floated corner was met by the head of former Royal and City skipper Sean Morrison who glanced wide of the target.
The Royals were enjoying a lot of possession but struggling to find that killer pass that would open City up - meanwhile Frederic Gounongbe was brought off the bench by the hosts as they looked to change tack up front for the final half an hour.
Quinn was brought into the game just after the hour, replacing Evans in midfield. And a goalline clearance denied Reading the opening goal soon after. Kermorgant stayed strong to force Wilson into an error from an up and under and the ball fell out to McCleary who passed it to Beerens in space near the penalty spot. But his right footed finish was cleared off the City line by an outstretched leg from Richards.
The Royals came close again soon after when Van den Berg stroked a low corner out to Kermorgant who missed his kick as he shot. He stabbed the ball out to Van den Berg once more though, but the Dutchman's left-footed drive was charged down.
The home crowd were getting frustrated, but good defending from Blackett and then McShane was needed to thwart an attack that began down City's right with 20 minutes remaining.
At the other end, Williams dragged a snap shot just wide of the left post from just inside the Bluebirds' box - then McShane got a glancing head to a lofted cross into the Reading area, enough to put Gounongbe off and force him to head aimlessly over.
Whittingham curled a set piece high over the Royals bar, then Morrison had to head a Beerens shot over his own bar - but the game entered its final ten minutes without a goal.
Kermorgant powered a header towards the top left corner from a floated McCleary corner - but it sailed agonisingly wide.
Time seemed to be running out, but in the 89th minute...the breakthrough! Substitute Jordan Obita found space down the left and crossed into the box. City didn't clear it at the first attempt and the ball fell to the feet of Kermorgant. One touch to control it, the second to rifle home from 12 yards out.
Five minutes of injury time were signalled, giving the home side hope of an equaliser. But Reading had controlled possession throughout and never looked like conceding in a second half they bossed.
The first away win of the season under Jaap Stam...
Full-time:Cardiff City 0-1 Reading
Cardiff City: Wilson, Peltier (Ecuele Manga 31), Richards, Morrison (c), Connolly, Ralls, Whittingham, Gunnarsson (Noone 83), Harris, Pilkington, Immers (Gounongbe 56).
Unused subs: Amos, Huws, Ajayi, Le Fondre.
Reading: Al Habsi, Gunter, Blackett (Obita 82), McShane (c), Moore, Van den Berg, Evans (Quinn 63), Williams, McCleary, Beerens, Kermorgant.
Unused subs: Jaakkola, Watson, Swift, Harriott, Mendes.
Goals: Kermorgant (89)