Ali Al Habsi saved a penalty, Lewis Grabban was denied a spotkick and Roy Beerens was thwarted by the woodwork, but a closely-contested encounter in West Yorkshire went Huddersfield's way thanks to a late winner from Philip Billing.
Both sides had fought hard for a win on a blustery night in Huddersfield, Grabban going close twice for the Royals while Wells and Kachunga threatened throughout for the hosts, but after Grabban had not been awarded a penalty when he was felled by Ward inside the box as the game neared a goalless conclusion, third-placed Town struck the decisive blow.
Royals boss Jaap Stam made just one change to his starting line-up, bringing in Roy Beerens to his eleven in place of John Swift who dropped to the bench. Captain Paul McShane returned from injury to take a place on the substitutes' bench.
The hosts began well, passing the ball slickly around the pitch and keeping the ball well in the opening exchanges. But the first strike at goal didn't come until twelve minutes had passed, Rajov Van la Parra striding through the midfield to fire a powerful effort just wide of the right post from distance.
Reading found a foothold, but Kachunga found himself in space right of centre and drilled a right-footed effort wide of the same upright five minutes later. Then Jordan Obita needed to track a good run from Smith and scrambled the ball to safety after Kachunga had pulled it back to the right-back.
A swirling wind was also causing problems for the Royals defence and corners from either side of the pitch were survived, the first headed behind by a Royals head and the second hacked away by Gunter at the near post.
The home side needed the woodwork to deny Reading though on the half hour. Kelly scampered forward and fed Beerens on the left. He stepovered his way past Philip Billing and swept a shot past Danny Ward and although the Town keeper got a touch to it, it cannoned off the crossbar and away behind for a corner.
Moments later though, the Terriers had a golden opportunity to break the deadlock. Brown's burst forward was halted by Blackett who tripped and felled the Huddersfield forward inside the box. Referee Tony Harrington pointed to the spot and after a little discussion between Brown and Van La Parra, the latter stepped up to the spot. But his low strike was parried wide by the brilliant Al Habsi and the Royals breathed a sigh of relief.
David Wagner made a change soon after Reading had cleared the resultant corner, Brown replaced by Jack Payne. And Reading came close to getting the opener soon after. Gunter won a free kick on the right and Mutch rose at the far post only to see Ward save his headed effort. It fell for Grabban, who hooked a bouncing ball towards goal and saw his shot hit the face of the Huddersfield keeper and the shot was parried to safety.
Before the break, Reading came close again though. Obita raced down the left and fizzed in an early cross that Grabban deftly flicked towards the bottom right corner but inches wide with Ward a beaten man watching it bobble behind for a goal kick.
Two minutes of injury time were signalled as Huddersfield came close through Payne who drilled an effort just wide of the left upright from a good position. Then the offside flag thwarted Grabban after Beerens had tried to toe him in on goal. But parity remained at the break.
Half-time: Huddersfield Town 0-0 Reading
The second period began with a well-worked passing move that presented Danny Williams with a chance. Beerens' clever flick into the run of Williams saw the midfielder wrap a right leg around the ball near the penalty spot but his first time shot was gathered in by Ward.
But at the other end, Wells went close when he was fed by Mooy. The striker took it under control and rifled low, left-footed, across Al Habsi's goal and just wide of the bottom right corner.
A huge penalty shout for the Royals was waved away next. The visitors broke in numbers and Williams stroked the ball into the run of Grabban. Ward came off his line and bundled the player and the ball wide and out of play and Grabban's appeals for a spotkick went unheard.
The game was end to end in terms of opportunities in front of goal and Kachunga was next to go close when Blackett's header dropped kindly for him and he arrowed a volley wide.
Jaap Stam brought on Kermorgant and Swift with 20 minutes to play, looking for a winner and reluctant to settle for a point. And Kermorgant looked to thread in another substitute, Adi Popa, only for Ward to slide out and smother it at the Romanian's feet.
Two crunching tackles from Moore and then Billing showed both side's desire to win the ball as we entered the final 10 minutes at the John Smith's Stadium - but was the game going to get a goal to decide it?
Yes it was. But unfortunately it fell to the hosts. A break down the left led to the ball finding its way to the feet of Smith whose shot from the right was deflected away from the goalmouth by a Reading body...but it fell kindly for Billing ghosting in from the left and he arrowed it into the back of the net with a sweetly struck finish.
In four minutes of injury time, Kermorgant came within a whisker of equalising when his set piece floated over the wall and past the statuesque Ward only to brush the roof of the net and go behind for a goal kick.
Moore stabbed a late late effort wide after the ball had been flicked into his path inside the Terriers' area, but there was no way back into it for a hardworking Royals outfit this time.
Full-time: Huddersfield Town 1-0 Reading
Huddersfield: Ward, Smith, Billing, Kachunga, Mooy, Lowe, Van la Parra (Lolley 66), Wells (Quaner 86), Schindler, Brown (Payne 37), Hefele.
Subs: Coddington, Hudson, Whitehead, Cranie.
Goals: Billing (82)
Reading: Al-Habsi, Gunter (c), Obita, Moore, Blackett, Williams, Mutch (Swift 71), Kelly, McCleary (Popa 61), Beerens, Grabban (Kermorgant 70).
Subs: Jaakkola, McShane, Evans, Meite.