Reading produced a battling performance from start to finish, to hold on to a crucial 2-1 victory at home to Millwall on Saturday afternoon.
A superb drilled finish from Jordan Obita was matched by a top-corner drive from Sam Baldock in the first half, to put the Royals ahead on the day.
Jed Wallace struck against the run of play to pull one back for the visitors midway through the second half, but a gutsy Reading side held on for all three points.
Reading started off at Madejski Stadium with the solitary change from their last outing 11 days ago, with Obita starting in place of Omar Richards.
Three former Royals were among the Millwall ranks, too, with Jake Cooper, Alex Pearce and Jón Daði Böðvarsson all in the matchday squad for Gary Rowett's side.
The visitors started brightly by forcing an early corner, which was swung onto the head of skipper Shaun Hutchinson, who guided it back across goal but over the bar.
Up the other end, a low free-kick from John Swift was cleverly played to Sam Baldock's feet, who turned it towards goal but the defending yellow shirts were able to shuffle the ball clear.
But the resulting corner would be the pre-cursor to the opening goal for Reading. A long throw into the box saw the ball bounce invitingly for Obita, who hammered it first time, across goal, well out of reach of Bartosz Bialkowski and the ball nestled in the bottom corner for his first goal since May 2017.
Millwall's aerial threat meant that any set piece proved to be an opportunity, however. An in-swinging corner found Cooper, but he couldn't divert his header on target as the Lions looked to get back on level terms quickly.
The opening 20 minutes were open and entertaining in RG2, and Reading thought they had a penalty given when Swift was bundled over towards the corner of the box - but a free-kick was the verdict.
Swift stepped up to take the set piece from a tricky angle, and bent it over the wall before rattling the crossbar. A matter of inches away from doubling Reading's lead in driving rain in RG2.
The rain seemed to slow play down for a period, as the players battled the elements as well as their opposite numbers.
But Reading continued to press and the chances kept coming. A defensive mix-up saw Sam Baldock's shot spilled by Bialkowski, George Pușcaș tried to follow up before the ball broke to Andy Yiadom, who went to lash at goal but Murray Wallace put in a vital block.
The resulting corner came in towards the front post, with Matt Miazga making the run and glancing a header towards the far corner. Some supporters were already out of their seats, but Bialkowski pulled off a superb reaction save to parry away, in what will most likely be a contender for any Save of the Season awards.
But the second goal for Reading did come - in some style, too. Reading caught the Millwall defence off-guard as Ejaria found himself in space behind the defence. He squared across to Baldock in space, who cut back onto his right foot 20 yards out and rifled a stunning drive into the heart of the top corner, prompting plenty of away supporters to head to the concourse for early half-time refreshments.
Millwall rarely threatened towards the back end of the first half, but they pounced on a loose pass in midfield to advance and spread play out wide on the right. The ball came in towards Ben Thompson, who got there before Miazga but couldn't get the right contact to bother the otherwise untroubled Rafael in Reading's goal.
It was very much Reading's half, and they went in at the interval deservedly ahead.
Half time | Reading 2-0 Millwall
The second half started with former Royals striker Böðvarsson introduced as Millwall needed to get back into the game quickly.
Andy Rinomhota, who had looked defensively solid on top of his marauding runs in the first half, drove forward into the attacking third once again and worked his way into space, shooting left-footed and over the bar.
Shortly afterwards, audible gasps from the stands were heard as Moore challenged Böðvarsson for a header and landed heavily on his left shoulder, and received lengthy medical treatment on the pitch.
Although the skipper has battled through the pain barrier time after time in a Reading shirt, he could not continue - and Tyler Blackett was introduced in his place, with Yiadom taking the armband for the remainder of the match.
Out of next to nothing, Millwall pulled one back. After losing the ball in midfield, the visitors broke at speed with Jed Wallace breaking on the right.
He kept the ball, skipping past three defenders and burying a strike into the far corner. One of Rafael's first touches of the ball all match was picking the ball out of his net. It was a lifeline for the visitors.
Reading tried to force the initiative and restore their advantage, winning a pair of free-kicks in dangerous areas. Swift struck over the wall from good range, but the ball cleared Bialkowski's crossbar.
Millwall had their tails up, though, roared on by their ever-vocal away support in the South Stand.
The Royals fought hard to stem the tide that had turned against them, drawing fouls and looking to extend play as much as possible.
Reinforcements were added for the final 15 minutes, as Yakou Méïté and Pelé were brought on in place of Pușcaș and Baldock - prompting a change of shape as Reading looked to keep their lead at Madejski Stadium.
Millwall, meanwhile, brought on further attacking outlets in the form of Matt Smith and Connor Mahoney, with a tense end to the game in store in RG2.
The nerves were palpable in the stands, as Reading kept hold of their narrow lead as the rain worsened once more.
In the last minute of normal time, a free-kick from wide was floated into the Reading area. Miazga got his head to it first, clearing only into the path of Böðvarsson, whose overhead kick went a matter of inches wide of Rafael's post in a golden chance to equalise for Millwall.
Six minutes were added due to a multitude of injury stoppages, and Reading would need to give everything to hold onto the result.
The visitors continued to press, and a Smith header from a free-kick mercifully flew over the bar deep into added time.
A performance full of desire and grit, was met with the referee's whistle and all three points belonged to Reading.
Full time | Reading 2-1 Millwall
Reading: Rafael, Yiadom, Morrison, Miazga, Moore (c)(Blackett 58), Obita, Rinomhota, Ejaria, Swift, Baldock (Pelé 76), Pușcaș (Méïté 76).
Subs: Walker, McCleary, Loader, McIntyre.
Goals: Obita (10), Baldock (37)
Millwall: Bialkowski, Romeo, M Wallace, Cooper, Williams (Smith 78), Hutchinson (c), Thompson, Ferguson (Böðvarsson HT), Molumby, J Wallace, Bradshaw (Mahoney 78).
Subs: Steele, McCarthy, Pearce, O'Brien.
Goals: J Wallace (63)
Attendance: 14,845 (1,956 away)
Referee: Mr T Harrington