Goals from Jarrod Bowen and Jackson Irvine in the opening 16 minutes were enough for the three points, although the Tigers were forced to hold on after Lucas Joao pulled a goal back for the Royals after half time.
Head Coach Grant McCann made just one change to the side that started against Swansea City on the opening day as striker Tom Eaves came in to make his full debut for the Club. Nouha Dicko dropped to the bench, while George Honeyman and Matthew Pennington made their first appearances in the squad amongst the substitutes.
Eaves caused a couple of early problems for the Reading defence with a nod-down that almost picked out Bowen in the box and a low shot that was well blocked as the home side made a bright enough start.
And the Tigers made it count as they took a sixth-minute lead. Kamil Grosicki and Irvine exchanged passes to send the Polish winger into the box and when his low effort was only half-saved by goalkeeper Joao Virginia, Bowen followed up to finish from close range.
George Long made his first save of the afternoon 12 minutes in as he got down at his near post before the home side had loud penalty appeals turned down when Grosicki’s cross appeared to strike a Reading hand inside the box.
Still, it appeared not to matter as the Tigers doubled their lead in the 16th minute. The ball was worked right to Bowen and his delightful cross was headed home by Irvine.
Reading went close to pulling a goal back when Joao saw his low shot come back off the base of Long’s right-hand upright but McCann’s men were soon back on the attack as Daniel Batty saw a shot deflect wide after Eaves had done well to win possession back for his side.
Jordy de Wijs picked up a booking after chopping down Lucas Boye, while Boye himself was shown a yellow for bringing down Bowen.
Bowen then saw a powerful long-range drive kept our by Virginia, but the Tigers were happy with their two-goal half time lead.
Reading started the second half in decent fashion and Yakou Meite headed John Swift’s teasing cross wide to fire a warning that the visitors were still in the game.
Andy Yiadom was cautioned for a challenge on Irvine just before the hour, with the Australian midfielder left needed lengthy treatment after which he was able to continue.
Reading pulled a goal back in the 66th minute. After winning possession midway inside their own half, the ball was worked forward for Joao who fired a low shot into the net from just inside the box.
A double change followed as Jon Toral and Dicko replaced Batty and Eaves but it was Reading who continued to look dangerous and Long did well to deny half time substitute George Puscas at his near post.
Bowen saw a drive kept out by Virginia before a final substitution saw Honeyman replace Grosicki 12 minutes from time.
Bowen tried his luck again with five minutes remaining but this time curled his effort just wide and was then again denied by Virginia after a mazy run into the box.
Puscas fired an effort against the bar for the visitors in the closing minutes but it was the Tigers that held on for the victory.
Hull City: George Long; Eric Lichaj ©, Reece Burke, Jordy de Wijs, Stephen Kingsley; Daniel Batty (Jon Toral 68), Kevin Stewart, Jackson Irvine; Jarrod Bowen, Kamil Grosicki (George Honeyman 78), Tom Eaves (Nouha Dicko 68).
Subs Not Used: Matt Ingram, Ryan Tafazolli, Josh Bowler, Matthew Pennington.
Reading: Joao Virginia, Matt Miazga, Liam Moore, Andy Rinomhota, John Swift, Andy Yiadom (Michael Morrison 90), Lucas Boye (George Puscas 46), Yakou Meite, Omar Richards, Judilson Gomes (Charlie Adam 68), Lucas Joao.
Subs Not Used: Sam Walker, Tom McIntyre, Michael Olise, Josh Barrett.
Referee: Mr M. Donohue.