A goal either side of half time for João Pedro was enough to secure a win for Watford on a cold night at Vicarage Road.
His penalty opened the scoring within the first fifteen minutes and he capped off a fine display by hammering home a second with three minutes to go.
In a game of few chances it took just a couple of clinical moments from the Brazilian to bounce back from their disappointing 1-0 defeat to Coventry at the weekend.
Both sides were unable to get a proper foothold in the game with careless possession characterising much of the play.
Yáser Asprilla's cameo off the bench was one of the bright sparks from Saturday's loss and he came into the starting XI in the place of the suspended Hassane Kamara. The other change for The Hornets came in defence as Christian Kabasele returned to the side for Francisco Sierralta, who was also suspended.
Paul Ince made five changes to the team which lost against Preston at the weekend. The Royals have had a mixed start to the season after they exceeded expectations by being part of the leading pack in the opening weeks. They came into the game without a win in three games, though.
After a fairly pedestrian start to the game Watford carved up their first chance after fifteen minutes. Keinan Davis was causing Reading all sorts of problems and after some trickery in the box he set up Asprilla, but the Columbian's close range effort was deflected for a corner.
From the resulting corner, though, the hosts found their way into the game. After some pinball in the box João Pedro was bundled to the floor by Ovie Ejaria. The Autumn International rugby games started at the weekend, and the challenge was reminiscent of something seen at Twickenham.
João Pedro stepped up to calmly send Joe Lumley the wrong way and give his side the lead.
Reading manager Paul Ince had Lumley to thank moments later when he somehow kept the score at 1-0. Davis found half a yard of space and fired a vicious shot which looked destined to find the back of the net, but Lumley somehow got down to keep the ball out.
The save turned out to be one of the last contributions Lumley would make. He injured himself in the process of his heroics and had to be replaced by substitute Dean Bouzanis.
Neither side could create many more opportunities and apart from a Tyrese Fornah free kick looping over Daniel Bachmann's goal it was Pedro's penalty which split the teams going into the break.
The second half carried on as the first half ended: dreary. Both sides were sloppy in possession and unable to create any chances.
João Pedro had two efforts from outside of the area which went close and Tom Ince fired over from a set-piece routine, but it seemed as if the hectic Championship schedule had taken it's toll.
In the closing exchanges, though, the ever-impressive João Pedro finally put the game out of sight for Bilić's men. Bouzanis could only palm Ismaïla Sarr's cross into the path of the Brazilian and he made no mistake in hammering the ball home.
It wasn't the prettiest win for Watford but after the disappointment at home against Coventry on Saturday it was important to bounce back. They may not have done that in style, but three points will taste sweet for Bilić and his squad no doubt.