The Bluebirds were unable to break down their opponents across the 90 minutes, but defeat for Fulham at Birmingham City ensured that Neil Warnock secured a record eighth promotion - three of those to the top flight of English football.
Cardiff end the season on 90 points, two better off than Fulham, who must now settle for a place in the playoffs along with Aston Villa, Middlesbrough and Derby County.
Knowing that a point would be enough if Fulham failed to overcome Birmingham City at St Andrew's, the biggest cheer from the home stands in the first half was reserved for Brum's opening goal in that match 118 miles north.
A scrappy opening quarter to the contest in South Wales passed by with little incident, although a vital interception was required from Lee Peltier to prevent Dave Edwards from edging the visitors into a surprise lead.
Cardiff soon found their rhythm, not afraid to get the ball forward in as few passes as possible - a running theme from this memorable promotion-winning season.
Sean Morrison felt that he should have had a penalty when shoved inside the box, but Cardiff's first chance would come from the next attacking move as Joe Ralls's bullet strike hit a Reading body before being cleared to safety.
The hosts, without a win in four against Reading prior to today, then had another penalty call rejected when Tiago Ilori took out Junior Hoilett, soon after the City winger curled agonisingly wide from the edge of the box.
Chances were starting to pile up for the Bluebirds, with Kenneth Zohore controlling the ball in the box but failing to test Vito Mannone, while Sol Bamba should have done better to connect with Nathaniel Mendez-Laing's right-sided cross.
A second goal for Birmingham in their meeting with Fulham ensured that Cardiff simply had to see through the second 45 and they would be in the Premier League.
Only Fulham have won more than City's 13 league games in 2018 but the home side were being kept at bay by a determined Reading side who themselves had something to play for on the final day, sitting within reach of the sides in the bottom three.
A couple more half-chances came and went for Cardiff, including weak attempts from Mendez-Laing and Bryson from promising positions, as Reading continued to do what was required to claim the point they were after.
Zohore, with nine league goals to his name, then headed wide from a corner and Ralls scuffed a shot into the side-netting in front of a record Cardiff City Stadium crowd of 34,478.
In the end a stalemate proved enough for Cardiff, who will compete in the Premier League next season for the second time, while Reading dodged the drop by three points.
CARDIFF CITY (4-3-3): Etheridge; Peltier, Morrison, Bamba, Bennett; Bryson, Ralls, Paterson; Mendez-Laing, Zohore (Madine 86'), Hoilett (Ward 78')
READING (4-5-1): Mannone; Gunter, Elphick, Moore, Ilori (Kelly 34'); Van den Berg, Edwards, Bacuna, Aluko (McShane 84'), Barrow; Bodvarsson (Kermorgant 70')