Reading had gone ahead early on through a Sean Morrison header but, after Millwall's Jimmy Abdou had been sent-off for a second yellow card, Liam Trotter levelled from the spot.
Reading went into the game with a record of only one defeat in eight matches and had scored in their previous six, including a 4-1 hammering of Doncaster Rovers.
Millwall, after three successive wins in September, had subsequently collected only one point from nine, though it was a creditable 2-2 draw with QPR last time out.
After a cagey opening from both sides, Millwall created the first chance when Martyn Waghorn ran through alone. As he shaped to shoot, though, Wayne Bridge denied him with a fierce tackle. Reading took advantage of the narrow escape and went ahead in the ninth minute.
Millwall midfielder Nicky Bailey fouled Chris Gunter, for which he was booked, and Jordan Obita swung over the free kick from wide on the right. The Millwall defence froze and allowed Morrison, the Reading centre back and captain, to nod home unchallenged past David Forde for his first goal of the season.
Steve Lomas, the Millwall manager, was dealt another blow when, in the 19th minute, right back Paul Connolly had to leave the field with what appeared to be a groin injury. He had headed the ball back to keep Forde but landed awkwardly and was replaced by Jack Smith.
Lomas would have been pleased with Millwall's response, with Trotter flashing a header wide and Waghorn also off target with a low drive. But they were fortunate not to go further behind shortly before half-time, when only a superb save from Forde kept out Alex Pearce's powerful close-range effort.
Reading went even closer early in the second half, when Obita's cross from the byline was touched on to a post by Adam Le Fondre.
Millwall replied through Scott McDonald but twice he was denied by Reading keeper Adam Federici, the Australian having to dive on both occasions to make fine saves from his countryman.
Millwall thought they had equalised when Paul Robinson flicked on Scott Malone's free-kick for Danny Shittu to thunder home at the far post. But Shittu's celebrations were cut short when a raised assistant referee's flag indicated offside. Shittu furiously protested and was booked.
Reading upped the pace and made numerous forays into the Millwall half only for them to end in frustration. Forde saved well from a Hal Robson-Kanu 25-yarder and Pavel Pogrebnyak, Robson-Kanu and Jobi McAnuff all wasted efforts.
Millwall's task became even harder in the 85th minute, when midfielder Abdou received a second yellow card - for a wild lunge on McAnuff - and was dismissed.
But Trotter's late spot-kick, driven into the roof of the net after Federici had felled McDonald in the area, gained them a deserved point.