© Getty Images
Calvin Andrew, making just his third league start of the season, almost put the visitors ahead inside the first two minutes, but the forward sent his glancing header the wrong side of the post.
Michael Rose was the next player to go close when he thumped an effort wide of the upright as Rochdale began in a positive manner.
Port Vale had struggled to get into the game in the opening quarter of an hour, but they almost took the lead in the 16th minute. Adam Yates saw his drive deflected into the air and only a couple of reaction saves from Conrad Logan kept the home side out.
After the break, Jamie Allen arrowed a powerful volley towards the top corner, but Neal produced a save to preserve his clean sheet.
Shortly after Neal's save, the home side went ahead through Michael Brown, who guided an 18-yard finish into the corner of the net to put Vale 1-0 up.
Ben Williamson then should have put the game beyond the reach of Rochdale, but after rounding the goalkeeper, the 25-year-old struck the upright.
Despite a late surge by the visitors, Port Vale held on to secure all three points.