Tony Naylor's lone strike pushed Vale to the verge of the play-off zone and condemned plucky Reading to their first defeat in five games.
Both sides struggled to contend with a swirling wind but Vale soon seized control to put the visitors under strong pressure. Ian Bogie and Wayne Corden both tested Steve Mautone and Naylor squandered an excellent chance in the 35th minute when he raced on to Andy Porter's pass. Vale's efforts were finally rewarded in the fourth minute of first half stoppage time when Naylor struck his 16th goal of the season. Mautone spilled a shot from Stewart Talbot and Naylor followed up to chip the loose ball into an empty net.
Reading forced the pace after the break but struggled to create a clear-cut opportunity against a rugged Vale defence, superbly marshalled by Neil Aspin.
Naylor should have doubled Vale's lead in the 68th minute when he broke free of Reading's ropy offside trap to strike a post. Michael Meaker wasted Reading's best chance two minutes later when his misplaced shot bounced for a corner off Dean Glover. Reading increased the pressure as the final whistle beckoned with Keith McPherson and Barry Hunter going close.